史上最详细sqlmap入门教程_sqlmap使用教程(1)

例如:python sqlmap.py -r D:\user.txt --tables

6、-D

用来指定数据库,如果不加该参数, sqlmap 将枚举所有 DBMS 数据库的表

例如:python sqlmap.py -r D:\user.txt -D test --tables

7、–columns

如果当前会话用户对数据库系统表有读取权限,则可以枚举出当前数据库表的列名

例如:python sqlmap.py -r D:\user.txt --columns -D testdb -T users -C name

8、-D

用来指定数据库名称

例如:python sqlmap.py -r D:\user.txt --columns -D testdb -T users -C name

9、-T

用来指定数据库表名

例如:python sqlmap.py -r D:\user.txt --columns -D testdb -T users -C name

10、-C

用来指定要枚举的数据库表的列名称

例如:python sqlmap.py -r D:\user.txt --columns -D testdb -T users -C name

11、–fresh-queries

使用这个参数sqlmap将不会从缓存里面加载数据,从而能将最新的数据注入到数据库

例如:python sqlmap.py -r D:\user.txt --dbs --fresh-queries

12、–level

如果 SQL 注入检测的难度越高,则需要设定越高的–level 值,最高级别是5

**例如:**python sqlmap.py -r D:\user.txt --level=5 --risk=3

13、–risk

风险级别,默认级别是1,风险级别是2时,会在默认的基础上添加大量的时间型盲注语句进行测试,风险级别是3时,会在原基础上添加大量OR类型的布尔型盲注语句进行测试

例如:python sqlmap.py -r D:\user.txt --level=5 --risk=3

这个命令,执行时间会比较久

四、sqlmap实践应用

一)通过工具AppScan扫描SQL盲注漏洞

查看AppScan工具的扫描结果,看是否有SQL盲注漏洞,如果存在,就会有如下图所示的标注

二)分析存在SQL盲注的接口

注入的接口一般分为POST注入和GET注入,两种类型的接口使用工具的方式不一样。

1、POST注入

1)如果接口是POST类型的,就需要把AppScan上该接口的请求信息(请求头+请求体),全部复制到一个txt文件下保存,放到一个本地文件下,例如D:\saler.txt

2)手动登录系统,将D:\saler.txt文件的Cookie值更新为最新值

复制最新的Cookie值

粘贴至D:\saler.txt文件中

3)打开cmd窗口,通过桌面快捷方式进入sqlmap所在目录,执行命令:python sqlmap.py -r D:\user.txt --dbs

命令的格式为:python sqlmap.py -r 请求报文txt文件所在目录位置 --dbs

4)命令执行完成后,分析结果

如果有注入,结果如下(因为我们演示的时候,执行命令的参数是–dbs,所以暴露的是数据库名):

5)将SQL盲注的漏洞反馈给开发同学,让开发同学修复

参考AppScan扫描时的参数,利用抓包工具例如Fiddler或者Charles进行重现

尝试传这四个参数,验证结果是不是不同,如果不一样,则证明存在SQL盲注漏洞

6)待开发修复漏洞后,进行验证

注意验证的时候清除缓存,带–fresh-queries参数,该参数表示sqlmap将不会从缓存里面加载数据,从而能注入到数据库最新的数据

3分钟左右,脚本跑完后,查看结果,如下是已修复的结果

2、GET注入

*1)*打开cmd窗口,通过桌面快捷方式进入sqlmap所在目录,执行命令:python sqlmap.py -u “https://xxxx/saler/list?customerId=2” --dbs

命令的格式为:python sqlmap.py -u “接口地址” --dbs

2)命令执行完成后,分析结果

如果有注入,结果如下:

如果没有注入,结果如下:

3)将SQL盲注的漏洞反馈给开发同学,让开发同学修复

参考POST注入的方式,GET注入重现也可以不抓包,直接手动登录系统,在浏览器中访问接口地址即可

4)待开发修复漏洞后,进行验证

注意验证的时候清除缓存,带–fresh-queries参数,该参数表示sqlmap将不会从缓存里面加载数据,从而能注入到数据库最新的数据

请参考POST注入的方式

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sqlmap -dump是sqlmap工具的一个参数,用于从数据库中提取数据。具体使用方法可以参考以下引用内容。 引用中给出了一个使用sqlmap -dump的示例命令: ./sqlmap.py –u “http://www.anti-x.net/inject.asp?id=injecthere” –-dump –C C1,C2,C3 –T TB_NAME -D DB_NAME 这个命令的作用是从指定的URL注入点提取指定表中特定字段的数据。其中,-C参数用于指定要提取的字段,-T参数用于指定要提取数据的表,-D参数用于指定要提取数据的数据库。 另外,引用和引用中提供了使用sqlmap的其他示例命令,包括对数据库进行扫描和排除特定的系统数据库。 综上所述,sqlmap -dump是sqlmap工具的一个参数,用于从数据库中提取数据。具体的使用方法可以根据实际需求选择合适的参数进行配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [史上详细sqlmap入门教程](https://blog.csdn.net/weixin_44867191/article/details/130702472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [sqlmap.py 脚本 sqlmap-master.zip](https://download.csdn.net/download/renlei0109/8045855)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值