PortSwigger靶场之SQL injection with filter bypass via XML encoding通关秘籍

一、题目分析

该实验室的库存查询功能存在 SQL 注入漏洞。查询结果为这些信息会出现在应用程序的响应中,因此您可以利用"联合"攻击来从其他表中获取数据。该数据库中有一个"用户"表,该表包含了已注册用户的用户名和密码。要解决,需进行一次 SQL 注入攻击以获取管理员用户的登录凭证,然后登录到他们的账户。

提示网络应用防火墙(WAF)会拦截那些明显带有 SQL 注入攻击迹象的请求。您需要找到一种方法来对恶意查询进行混淆处理,以绕过这一过滤机制。我们建议使用 Hackvertor 扩展来进行此操作。

二、下载插件

我们先在拓展里面下这个插件:

三、寻找注入点

如上修改语句为"1+1",返回结果发生了变化;同时如下修改输入单引号,会被识别成攻击语句,被拦截。

四、使用 Hackvertor 扩展

这里我们使用 Hackvertor 扩展,进行加密,为什么呢?

因为 使用 Hackvertor 扩展,进行加密我们可以绕过安全过滤器和 WAF(Web 应用防火墙)

  • 这是它在网络安全领域中非常重要的一个应用。很多简单的安全过滤器会通过黑名单来阻止恶意的输入,比如直接拦截包含 <script> 字符串的请求。

  • 攻击者为了绕过这种检测,可以将他的攻击载荷(Payload)进行十六进制实体编码。

  • 例如,将 <script>alert(1)</script> 完全编码成: &#x3c;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3e;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;&#x3c;&#x2f;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3e;

  • 这个编码后的字符串可能不会触发 WAF 的规则,但当它被浏览器接收并解析时,会被还原成原始的恶意脚本并执行,从而导致 跨站脚本攻击(XSS)


此时,再次点击Send,发现响应中返回了正常的内容。

五、判断数据库类型

此时识别出数据库类型为PostgreSQL

六、寻找用户名和密码

利用下面语句得出用户名:

sql 复制代码
1 union SELECT username from users

利用该语句得出密码

sql 复制代码
1 union SELECT password from users where username='administrator'

七、成功通关

用账号密码登录成功通关

相关推荐
ZFSS7 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
东风破1378 小时前
达梦DMDRS搭建、以及DMDRS双向同步
数据库·oracle·dm达梦数据库
KaMeidebaby9 小时前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
NiceCloud喜云9 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
A XMan.10 小时前
域名Whois信息查询V2版API接入指南
数据库
heimeiyingwang10 小时前
【架构实战】可观测性体系:从监控到全链路追踪
网络·数据库·架构
网管NO.110 小时前
SQL 日期函数全套精讲!时间格式化、日期加减、年月日提取,做日报周报直接套用
数据库·sql
杨云龙UP11 小时前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
sdk大全11 小时前
Studio 3T for MongoDB 2025.13.0
数据库·mongodb
码农阿豪11 小时前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb