• SQLMAP自动注入-request参数


    提交数据段 --data

    • get / post 都适用
    sqlmap.py -u "http://192.168.0.119/mutillidae/index.php?page=login.php" --data="username=1&password=1&login-php-submit-button=Login" --dbs#-u后面跟URL#--data后面跟用户请求的数据
    
    • 1

    变量分隔符:–param-del

    • 一般情况下,网站会用&作为参数的分隔符,这也是SQLMAP默认使用的分隔符,如果有些web application不使用&作为分隔符的话,那么就使用–param-del去告诉sqlmap分隔符是什么。
    sqlmap -u "http://1.1.1.1/a.php" --data="q=foo;id=1" --param-del=";" -f
    
    • 1

    cookie值

    • 大部分网站需要使用cookie值来代表用户的合法性访问,这些网站如果使用sqlmap去扫描的的话,不带cookie值的情况下是扫不到的,使用–cookie后面跟cookie的值,比如我们之前使用的dvwa就是的

    图片

    ./sqlmap.py -u "http://192.168.0.119/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=4bef239e9c2df754baddf5dce105d666" --dbs
    
    • 1

    图片

    –user-agent

    • 当你用sqlmap对一个网站进行扫描的时候,可以通过抓包看到,那么他就可以通过过滤的一些手段进行阻断

    图片

    --user-agent  #手动指定用户agent--random-agent  #使用kali自带字典的形式随意挑选#kali自带字典:/usr/share/sqlmap/data/txt/user-agents.txt
    
    • 1

    图片

    • sqlmap检查user-agent中的注入点:Level>=3

    • APP/IDS/IPS/WAF会过滤异常user-agent报错

    Host头:–host

    • sqlmap检查host中的注入点:Level=5

    Referer头:–referer

    • sqlmap检查Referer头中的注入点:Level>=3

    额外的header:–headers

    • 每个头单独一行(名称区别大小写),可以使用\n进行换行

    指定请求方法

    –method=POST/GET

    基于HTTP协议的身份验证

    • Basic基本身份认证

    • Digest

    • NTLM

    –auth-type Basic

    –auth-cert / --auth-file

    • 含有私钥的PEM格式证书文件

    • PEM格式的证书链文件

    HTTP(S)代理

    –proxy=“http://127.0.0.1:8087”

    –proxy-cred=“name:pass”

    –ignore-proxy #忽略系统代理设置,通常用于扫描本地网络目标

    –delay

    • 每次http(s)请求之间延迟时间,浮点数,单位为秒,默认无延迟

    –timeout

    • 请求超时时间,浮点数,默认为30秒

    –retries

    • http(s)连接尝试重试次数,默认3次

    –randomize

    • 长度,类型与原始值保持一致的前提下,指定每次请求随机取值的参数名(例如对id=1,随机产生123455)

    –scope

    • 过滤日志内容,通过正则表达式筛选扫描对象
    sqlmap -l burp,log --scope="(www)?\.target\.(com|net|org)"//按照www.target.com|net|org筛选//或者按照数字筛选sqlmap -l 2.log --scope="(19)?\.168\.20\.(1|10|100)" --level 3 --dbs//可以扫描User-agent中的注入点
    
    • 1

    –safe-url / --safe-freq

    • 检测和盲注阶段会产生大量失败请求,服务器端可能因此销毁session

    • 每发送–safe-freq次注入请求后,发送一次正常请求

    –skip-urlencode

    • 默认Get方法会对传输内容进行编码,某些WEB服务器不遵守RFC标准编码,使用原始字符提交数据;

    –eval

    • 每次请求前执行指定的python代码

    • 每次请求更改或增加新的参数值(时间依赖,其他参数值依赖)

    sqlmap -u "http:1.1.1.1/a.php?id=1&hash=c4ca4238a0b923820dcc590a6f58417b" --eval="import hashlib;hash=hashlib.md5(id).hexdigest()"
    
    • 1
  • 相关阅读:
    【FreeRTOS】FreeRTOS学习笔记(7)— 手写FreeRTOS双向链表/源码分析
    网格布局之网格线编号定位
    oculus 有线/无线 串流到 macbook pro mac m1
    C++常用stl
    请求转发与重定向
    软件测试--selenium安装使用
    html 菜单点击切换样式,菜单<a> 控制iframe
    【postgres】docker desktop全部署后端MVC + postgres + Adminer可视化数据库
    提升销售和转化率:销售助理机器人的关键优势
    电脑翻译软件-大家都觉得好用的免费电脑翻译软件
  • 原文地址:https://blog.csdn.net/weixin_42952508/article/details/126284939