目录

Lab18_-SQL-injection-with-filter-bypass-via-XML-encoding

Lab18_ SQL injection with filter bypass via XML encoding

前言:

实验室标题为:

通关 XML 编码绕过过滤器的 SQL 注入

简介:

此实验室的库存检查功能中存在 SQL 注入漏洞。查询结果在应用程序的响应中返回,因此您可以使用 UNION 攻击从其他表中检索数据。

数据库包含一个users表,其中包含注册用户的用户名和密码。要解决该实验,请执行 SQL 注入攻击以检索管理员用户的凭据,然后登录到他们的帐户。

提示:

Web 应用程序防火墙 (WAF) 将阻止包含明显 SQL 注入攻击迹象的请求。您需要找到一种方法来混淆您的恶意查询以绕过此过滤器。我们建议使用Hackvertor扩展来执行此操作。

进入实验室

依然是一个商店页面

https://i-blog.csdnimg.cn/img_convert/2d44aa65d2c91e3551dbc49d11db8cd3.png#pic_left

构造 payload

点击任意商品进入详细介绍页面,点击底部的检查库存,打开 burp 进行抓包

将数据包发送到重放模块

点击发送,响应包中显示的商店库存为 933

https://i-blog.csdnimg.cn/img_convert/3865f2753c70f224839d337d04cd0e96.png#pic_left

修改storeId 标签值为 1+1,再次发送数据包,响应包中的商店库存为 880。可以判断storeId 标签值,响应包中的返回值不同

https://i-blog.csdnimg.cn/img_convert/8f09da1943ca1b78670ce7ef5295a4e2.png#pic_left

将 storeId 标签值改为 union select null

再次发送数据包,响应包中显示Attack detected

https://i-blog.csdnimg.cn/img_convert/e620883baa4d0c0db7b35a414f549a39.png#pic_left

通过 burp 插件Hackvertor 来绕过检测

Extensions > Hackvertor > Encode > dec_entities/hex_entities

https://i-blog.csdnimg.cn/img_convert/d4bda0108e533d10485af5b82b126748.png#pic_left

再次发送数据包,能够正常响应,说明成功绕过检测

https://i-blog.csdnimg.cn/img_convert/ad4f8015c9254d857574fe7bbf72780d.png#pic_left

响应包中返回的数据为 0 units,说明当返回多个字段时,应用程序将返回 0 units

使用拼接的方法构造 payload

1 UNION SELECT username || '~' || password FROM users

发送数据包,成功得到账户密码

https://i-blog.csdnimg.cn/img_convert/888a85a5f89dff227868b819632c277a.png#pic_left

carlos~wxp3wkqelmoqqb12p5fi

administrator~b0xyracitwpfkf71izhm

933 units

wiener~loxi1hggomrhyudhvxuk

登录管理员账户,成功通关

https://i-blog.csdnimg.cn/img_convert/1939c8be922613bb060d4fc8f00aab8e.png#pic_left