云服务器网:购买云服务器和VPS必上的网站!

利用MSSql绕过WAF的新突破

在防火墙(WAF)的日趋普及中,传统SQL注入方法对WAF来讲常常不太管用,针对此MSSql也采取了更高级的绕过技术。本文将讲授利用MSSql在WAF下实现注入的一些新突破。
首先,我们可使用MSSql中常见的类型转换来绕过一些WAF防护,比如将“(CHAR(

在防火墙(WAF)的日趋普及中,传统SQL注入方法对WAF来讲常常不太管用,针对此MSSql也采取了更高级的绕过技术。本文将讲授利用MSSql在WAF下实现注入的一些新突破。

首先,我们可使用MSSql中常见的类型转换来绕过一些WAF防护,比如将“(CHAR(58)+CHAR(113)+CHAR(112)+CHAR(97)+CHAR(100)+CHAR(105)+CHAR(118))”替换为cast(0x584f504449564156 as varchar(8000))。由于MSSql常常将输入数据作为字符串处理,因此我们可以利用类型转换中的函数重新编码,从而到达绕过WAF的目的。

另外,我们还可以采取SSL多协议绕过WAF。这类方案需要将要查询的参数信息编码成密文,然后在SQL中使用密文代替原始文本,绕过防火墙及其它安全层次。例如:

DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT * FROM users WHERE username = '+ EncryptByKey(KEY_GUID('TKey'), @username);
EXEC sp_executesql @sql

这里,我们使用MSSql自带的EncryptByKey函数来对用户名进行加密,终究使其能够绕过WAF过滤。

固然,我们还可以用MSSql构造布尔盲注的例子来讲明绕过WAF的一些新方式。在这类情况下,可使用一个主要的SQL语句将数据库表中的某个字段与布尔表达式进行比较,如果比较成功就会产生true,反之则false。这样,通过将waf返回的数据进行分析,我们就能够肯定语句是成功履行了:

SELECT * FROM user where id=(CASE WHEN (select top 1 1 from [table] WHERE username = 'admin') is not null 
THEN 1 ELSE 2 END );

以上为使用MSSql实现注入绕过WAF的一些新突破。另外,我们还可使用MSSql强大的函数帮助绕过WAF,比如BINARY,全文搜索函数等等。希望本文的内容能够帮助大家绕过WAF掌控当下的安全性技术。

本文来源:https://www.yuntue.com/post/86442.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注