Sqlmap注入技巧集锦

所属分类: 网络安全 / 黑客教程 阅读数: 45
收藏 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 分享

看黑客怎样汇编创建简单的窗口

理论: Windows 程序中,在写图形用户界面时需要调用大量的标准 Windows Gui 函数。其实这对用户和程序员来说都有好处,对于用户,面对的是同一套标准的窗口,对这些窗口的操作都是一样的,所以使用不同的应用程序时无须重新学习操作。对程序员来说,这些 Gui 源代码
收藏 0 赞 0 分享

新的挂马方式-ARP欺骗

网页挂马最难的就是传播了,小网站易入侵但是访问人数不多,收获的肉鸡也就不是很多。因此,一种新的挂马方式开始流行——局域网ARP欺骗挂马,只要局域网内一台机子中招了,它就可以在内网传播含有木马的网页,捕获的肉鸡就会成几何增长。   局域网ARP欺骗挂马的好处
收藏 0 赞 0 分享

教你如何手工注入猜解语句

猜解表名: and exists (select * from 表名) 猜解列名: and exists (select 字段 from 表名) UNION法: 联合查询: select name,password,id from user union s
收藏 0 赞 0 分享

扫不出肉鸡的常见原因

扫不出肉鸡有很多的可能!一般有如下的情况!   1.你系统的防火墙,或某些补丁作怪!   2.有些地方是扫不到肉鸡的(是不是和各地的电信有关,暂时还不知道)   3.机子设置有关!   4.扫描的网段没有肉鸡(空IPC的2000机子,其实现在已比较少的了)  
收藏 0 赞 0 分享

许多高手提升权限技巧

当我们取得一个webshell时候,下一部要做的就是提升权限   个人总结如下:   1: C:Documents and SettingsAll UsersApplication DataSymantecpcAnywhere 看能否跳转到这个目录,如果行那就
收藏 0 赞 0 分享

教你两句话 动网8.20的后台被拿下

dvbbs8.2漏洞补下载地址: http://bbs.dvbbs.net/dispbbs.asp?boardid=8&;Id=1519564 紧急安全补丁0530 dvbbs8.2漏洞的产生 login.asp 这个文件的97行Function D
收藏 0 赞 0 分享

黑客技巧:利用Log备份获取Webshell

dbowner通过注射得到一个shell应该不是什么难事情了,比较麻烦的是就算利用增量备份,仍然有很多不确定的因素,如果之前别人有过什么错误的写入信息,可能备份出来得到的还是一些不能用的500错误,如何能够提高成功率及重用性呢?如果单从调整增量备份的方式来看,尽管能
收藏 0 赞 0 分享

教你如何用ISAPI_Rewrite做IIS防盗链

“盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自
收藏 0 赞 0 分享

浅谈文件捆绑技术方式(图)

随着恶意代码的发展越来越广泛,以及其强大的破坏性和更多样的传播方式,给人们带来更多的危害。叶子在前面的文章中已经跟大家谈过恶意代码的基本概念以及对其的研究分析流程。在本篇文章中叶子将给大家介绍一下恶意代码的传播方式之一的捆绑技术,以及常见的Winrar自解压
收藏 0 赞 0 分享
查看更多