- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLMAP进阶使用-MayIKissYou
原原文文地地址址:/tips/5254
0x00 背背景景
首先在drops上搜索下sqlmap相关的文章:
sqlmap用户手册
sqlmap用户手册[续]
sqlmap实例cookbook
使用sqlmap对网站和数 库进行sql注入攻击
使用sqlmap 中tamper脚本绕过waf
介绍的比较全了,但是对于sqlmap的脚本扩展部分没有提及,例如自定义payload,自定义绕过脚本等等。
0x02 自自定定义义payload脚脚本本
2.1 需需求求
我们先写一个比较全的select语句:
#!sql
select * from users where user_id in (1,2,3,[4]) and first_name li e %[t]% and second_name= [’b’] group by [first_name] order by [1] [desc] limit [1]
语句中[]中的内容都是查询中可能存在的注入点。
那么问题来了:
1):这些注入点里面哪些是sqlmap在默认level下就能够识别的?
2):不能够在默认级别下识别的注入点,sqlmap在level=多少的时候能否识别?
3):sqlmap识别不了的时候怎么办?
以order by类型的注入来看,order by [1][1]这个参数在设置level=3的时候会被sqlmap检测出来(这里需要注意的在01_boolean_blind.xml文件中,如果level字段设置的是2,在测试的时候需要
设置比level高的才可以被识别,如rli e order by注入设置的level值为2,我在命令行使用sqlmap参数的时候需要设置level=3)
但是order by 1 [desc],在设置level=3的时候也无法识别,也许你会说添加suffix和prefix就可以了,确实是这样,但是现在的选手一般都会选择开web代理,然后调用sqlmap接口去检查,因此
这里对于sqlmap的要求就高了.
第一:sqlmap要能够检测出url的参数存在注入点;
第二:测试的效率要高[不能够将level设置的很高];设置level高的情况下,会有更多的请求。
现在看来自己将payload编写为sqlmap可用的payload即可。
2.2 说说明明
Sqlmap在运行之后会加载读取xml文件,并且将结果保存到co f.tests中,如下图:
这部分payload会在会在checkSqlI jectio 中使用:
接下来只要知道如何使用这部分payload以及xml中各个字段是什么意思即可。
首先详细看一下payload中字段:
title字段:payload test起的名字; 譬如我们给自己的payload起的名字为:
#!sql
MySQL boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause (desc-mayi issu)
style字段:sql注入的类型sql注入分了如下类型:
类型1:盲注 我们order by类型属于盲注,因此我们添加stype的值为1.
类型2:错误类型注入
类型3:内联注入
类型4:多语句查询注入
类型5:时间注入
类型6:联合查询注入
level字段:sqlmap对于每一个payload都有一个level级别,level级别越高表示检查的payload个数就越多。 譬如我们自定义个level设计的为2,因此只有在使用在命令行使用level》2的时候,才会使
用我们的payload进行检测。
risk字段:风险等级,有多大几率获取破坏数 。值有1,2,3,分别表示低中高。默认的risk为1,默认检测所有风险级别的payload。 该字段影响不大。
clause字段:payload在哪个语句里生效,差不多意思就是这个payload用在sql语句的哪个位置。可用的值:
0: Always
1: WHERE / HAVING
2: GROUP BY
3: ORDER BY
4: LIMIT
5: OFFSET
6: TOP
7: Table name
8: Column name
我们这里测试的是order by,此处clause的字段设置为3,经过测试这里的值可以混用的,关键看sql语法。
where字字段段:: where字段我理解的意思是,以什么样的方式将我们的payload添加进去。 1:表示将我们的payload直接添加在值得后面[此处指的应
您可能关注的文档
最近下载
- 2025年水平定向钻市场调查报告.docx
- 美的集团精益智能工厂数字化转型、制造工厂蓝图三年规划方案.ppt-原创力文档.pdf VIP
- JBZQ4763—2006膨胀螺栓.pdf VIP
- 虚拟实验室:超越传统实验教学-实现安全、高效的实验学习.pptx
- 江苏省化工和危险化学品生产企业安全审计表解读 2025年1月2日.pptx VIP
- 中国染料化工项目经营分析报告.docx
- 劳动法务技能课件.pptx VIP
- Roland罗兰乐器AX-Edge 肩背式合成器[Chinese] AX-Edge Owner's Manual用户手册.pdf
- (修改)世界的人口.ppt VIP
- 2025年中国DBE项目创业投资方案.docx
文档评论(0)