主页 > 网络知识 > Sqlmap使用详解(5)

Sqlmap使用详解(5)

 

Sqlmap使用详解

 

探测等级和危险等级(—level —risk)

Sqlmap一共有5个探测等级,默认是1。等级越高,说明探测时使用的payload也越多。其中5级的payload最多,会自动破解出cookie、XFF等头部注入。当然,等级越高,探测的时间也越慢。这个参数会影响测试的注入点,GET和POST的数据都会进行测试,HTTP cookie在level为2时就会测试,HTTP User-Agent/Referer头在level为3时就会测试。在不确定哪个参数为注入点时,为了保证准确性,建议设置level为5

sqlmap一共有3个危险等级,也就是说你认为这个网站存在几级的危险等级。和探测等级一个意思,在不确定的情况下,建议设置为3级,—risk=3

sqlmap使用的payload在目录:/usr/share/sqlmap/xml/payloads

 

Sqlmap使用详解

 

sqlmap -u "http://192.168.10.1/sqli/Less-4/?id=1" --level=5 --risk=3 #探测等级5,平台危险等级3,都是最高级别

 

Sqlmap使用详解

 

伪造 Http Referer头部

Sqlmap可以在请求中伪造HTTP中的referer,当探测等级为3或者3以上时,会尝试对referer注入,可以使用referer命令来欺骗,比如,我们伪造referer头为百度。可以这样

referer 执行指定的SQL语句(—sql-shell) sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --sql-shell #执行指定的sql语句

然后会提示我们输入要查询的SQL语句,注意这里的SQL语句最后不要有分号

 

Sqlmap使用详解

 

Sqlmap使用详解

执行操作系统命令(—os-shell)

在数据库为MySQL、PostgreSql或者SQL Server时,可以执行该选项。

当为MySQL数据库时,需满足下面三个条件:

当前用户为 root

知道网站根目录的绝对路径

该数据库的 secure_file_priv 参数值为空(很多数据库的该值为NULL,这也就导致了即使当前用户是root,即使知道了网站根目录的绝对路径,也不能执行成功 —os-shell )

sqlmap -u "http://192.168.10.1/sqli/Less-4/?id=1" --os-shell #执行--os-shell命令

选择网站的脚本语言

【1】ASP(默认)

【2】ASPX

【3】JSP

【4】PHP

您是否希望sqlmap进一步尝试引发完整路径的披露?【Y/n】

选择判断网站可写目录的方法

如果我们不知道网站的根目录的绝对路径的话,我们那里选择 4 暴力破解,尝试破解出根目录的绝对路径。这里因为是我们本地的环境,已经知道网站根目录的绝对地址了,所以选择 2

【1】使用公共的默认目录(C:/xampp/htdocs/,C:/wamp/www,C:/Inetpub/wwwroot/)

【2】自定义网络根目录绝对路径

【3】指定自定义的路径文件

【4】暴力破解

 

Sqlmap使用详解

 

可以看到,其实执行os-shell的过程中,sqlmap向网站根目录写入两个文件 tmpblwkd.php 和 tmpueqch.php。真正的木马文件是tmpblwkd.php 。如果是非正常退出sqlmap的话,这两个文件不会被删除。只有当我们输入 x 或 q 退出 sqlmap 时,该文件才会被自动删除。

 

Sqlmap使用详解

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!