Sqlmap注入技巧集锦

所属分类: 网络安全 / 黑客教程 阅读数: 185
收藏 0 赞 0 分享

TIP1

当我们注射的时候,判断注入

http://site/script?id=10 http://site/script?id=11-1 # 相当于 id=10

http://site/script?id=(select 10) # 相当于 id=10

http://site/script?id=10 and 1=1 #失败

通过判断可发现and和or被过滤

http://site/script?id=10– # 失败

http://site/script?id=10;– #失败

http://site/script?id=10);– #失败

http://site/script?id=10)subquery;– #失败

你可以用burp的intruder的字典跑,但是仍然失败。

这里可以用到SQL语句的case when …then … else … end语句

CASE WHEN语句在DB2,ORACLE,SQL SERVER系列,SYBASE等大型数据库都受到支持,是标准的SQL语句。 可以这样子理解:CASE… WHEN… THEN …ELSE …END

CASE WHEN 语法有两种情况: 第一种是CASE 后面不带表达式的;

CASE WHEN expression THEN 操作1
WHEN expression THEN 操作2
.......
ELSE 操作n
END

第二种是CASE 后面带表达式的(而此时WHEN 后面的则是该表达式可能的值),通用。

CASE expression
WHEN expression值1 THEN 操作1
WHEN expression值2 THEN 操作2
.......
ELSE 操作n
END

http://host/script?id=11-(case when 1=1 then 1 else 0 end) 用1=1跟1=2测试http://host/script?id=10 # 当条件为真的时候 http://host/script?id=11 # 当条件为假的时候

可以很明显的看到返回不同,然后可以判断注入。那么怎么能让sqlmap去识别呢? Sqlmap默认是自己寻找注入点的,但是你加上一个*,可以引导他。 语句

sqlmap.py -u http://host/script?id=11-(case when 1=1星号 then 1)
 

注入最头痛的就是遇到过滤,sqlmap提供了字符转换的功能

“–tamper=between”当然自己可以改写转换内容,文件在/tamper目录下。

关于post注入 sqlmap可以用-r参数 加载数据包

sqlmap.py -r post.txt
 
继续补充一点: having xor等逻辑符号也可以判断注入。

TIP2

POST注入

有两种方法来进行post注入,一种是使用

–data
参数,将post的key和value用类似GET方式来提交。二是使用

-r
参数,sqlmap读取用户抓到的POST请求包,来进行POST注入检测。

查看payload

之前一直是加本地代理,然后用burpsuit来看sqlmap的payload,到现在才发现用

-v
参数就可以实现。一直认为

-v
实现的只是控制警告,debug信息级别。实际上使用

-v 3
就可以显示注入的payload,4,5,6还可以显示HTTP请求,HTTP响应头和页面。

使用google搜索

sqlmap可以测试google搜索结果中的sql注入,很强大的功能吧。使用方法是参数

-g
。不过感觉实际使用中这个用的还是很少的。

请求延时

在注入过程中请求太频繁的话可能会被防火墙拦截,这时候

–delay
参数就起作用了。可以设定两次HTTP请求间的延时。有的web程序会在多次错误访问后屏蔽所有请求,这样就导致之后所有的测试无法进行,绕过这个策略可以使用

–safe-url
,每隔一段时间去访问一个正常的页面。

伪静态页面

有些web服务器进行了url rewrite或者网站是伪静态的,无法直接提供测试参数,这样子可以使用

*
来代替要测试的参数。

执行系统命令

当数据库支持,并且当前用户有权限的时候,可以执行系统命令,使用

–os-cmd
或者

–os-shell
,具体的讲,当可以执行多语句的时候,会尝试用UDF(MySQL,PostgrepSQL)或者xp_cmdshell(MSSQL)来执行系统命令。不能执行多语句时,仍然会尝试创建一个webshell来执行语句,这时候就需要web的绝对路径了。总体来说,成功率偏低,不过个人也有成功的经验~

测试等级

sqlmap使用

–level
参数来进行不同全面性的测试,默认为1,不同的参数影响了使用哪些payload,2时会进行cookie注入检测,3时会进行

useragent
检测。

TIP3

SQLMAP 项目官方WIKI(详尽) 地址

相关文章链接《Sqlmap Tamper大全(1)》《SqlMap用户手册

更多精彩内容其他人还在看

黑客七大惯用攻击策略(攻击与防范)

这篇文章主要介绍了黑客七大惯用攻击策略,你必须掌握!,需要的朋友可以参考下
收藏 0 赞 0 分享

Android平台的SQL注入漏洞浅析(一条短信控制你的手机)

14年11月笔者在百度xteam博客中看到其公开了此前报告给Google的CVE-2014-8507漏洞细节——系统代码在处理经由短信承载的WAP推送内容时产生的经典SQL注入漏洞,影响Android 5.0以下的系统
收藏 0 赞 0 分享

浅析XSS与XSSI异同

这篇文章主要介绍了XSS与XSSI异同,跨站脚本(XSS)和跨站脚本包含(XSSI)之间的区别是什么?防御方法有什么不同?感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

没有苹果官方支持 是否可以重置MAC系统固件密码

不开源就意味着更干净更安全,现在连苹果都要准备部分开源给第三方软件了,是不是意味着苹果的安全也不如想象中的那么强大了?这个猜测并没有证据,有证据的是,iMac和MacBook的固件密码已经可以破解重置了
收藏 0 赞 0 分享

躲避黑客的七大高招教程

现在电脑用户最讨厌的就是黑客,有用户问怎么才能高效的躲避黑客的入侵呢?下面小编就为大家介绍七大高招,让你的电脑时时刻刻处于安全状态
收藏 0 赞 0 分享

在线DDoS攻击平台是什么 DDoS攻击平台的流量获取方式

流量获取是DDOS攻击的最重要一环,黑客主要通过获取厂商服务器的上行流量,致使你的服务器、电脑所属的网络或者系统资源耗尽而瘫痪,让你失去目标客户,借此用来勒索厂商。本文讲述了黑客获取流量的主要六种方式
收藏 0 赞 0 分享

如何提高DDoS攻击效率 增强DDoS攻击效果的思路

在我们的思维都朝着一个方向走的时候,忽然的转向会让人茅塞顿开。黑客在我眼中就是一群思维习惯不同的人,他们从不朝着同一个方向走,所以你才会被他们发现这么多的漏洞。一把手枪,四颗子弹,你能让子弹同时击中同一个目标来达到最强的杀伤力吗
收藏 0 赞 0 分享

十三步简单入侵个人电脑教程

下面小编就为电脑新手们打造了一个教程,从来没有通过网络进入别人电脑的用户快来看看吧,主要使用到的软件就是著名的国产木马冰河2.
收藏 0 赞 0 分享

保护DNS服务器的10点方法小结

本文收集总结了几点保护DNS服务器的有效方法,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

DNS协议欺骗攻击技术的攻防知识 DNS欺骗攻击和防范方法有哪些

你是否遭遇过这样的情况?当你在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。它可能是114的查询页面,可能是一个广告页面,更可能是一个刷流量的页面,甚至是一个挂马的网站。如果你遇到了上述情况话,那么极有可能你遭遇了DNS欺骗。
收藏 0 赞 0 分享
查看更多