从SQL注入绕过最新安全狗WAF中学习fuzz

好嘞,咱们来聊聊怎么搞SQL注入绕过那最新的安全狗WAF。
我这里先给你搭好环境,方便后面实操。
需要准备的软件有Windows 1 1 系统、phpStudy 2 01 8 和sqli-labs这几个。
搭环境的时候有个小提示,在装安全狗之前,记得先装好Apache 2 .4 ,不然安全狗装起来可能会出岔子。
Apache我一般都装在 "D:\phpStudy\PHPTutorial\Apache\bin" 这个路径下,大家可以参考一下。
Apache装好后,再去找对应的安全狗版本下载下来,装上并配置一下。
装好之后,记得把安全狗的防护总开关打开,再把Apache插件设成系统服务,这样它才能一直运行。
配置完毕后,访问一下你的网站,看看安全狗是不是真的起作用了。

环境都搭好了,咱们就开始动手绕过安全狗。
第一种方法,我先用了一个简单的 '1 =1 ' 来试试水,结果被拦住了。
我又换成 'true=true' 再试一次,还是不行。
然后我发现,如果 'AND' 后面直接跟内容,没有空格,会提示错误。
于是我想用 '/' 和 '/' 做注释试试,结果安全狗还是识破了。
这不行那就换个思路,我用了爆破工具BP,在URL里加个变量,暴力破解了一下字符集,目标字符是“/!”,最后还真让我找到了能绕过的字符,用这个字符构造的payload就成功绕过了。

第二种方法,我利用了内联注释符 '/!00000/' 来绕过 '1 =1 '。
我构造了这样一个语句 '/!000001 /=/!000001 /',嘿,还真绕过去了。
我还试了用ORDER BY来构造空格绕过,顺便判断了一下字段数是3 搞联合查询的时候,我琢磨着能不能让内联注释的字符数大于版本号来绕过,结果暴力破解了字符集范围之后发现行不通。
最后我用了Fuzz的方法,在 '//' 注释里加点儿别的字符试试,这次payload也成功构造出来了。

接下来是爆库、爆表、爆列、爆字段信息这些操作。
爆库的时候,我试着想绕过 'database()' 这个函数,用了 '/xxx/()' 的方式,再用BP暴力破解,payload搞定。
还有个 '/!()/' 的方法,也用BP暴力破解,同样搞定了。
爆表我就用了内联注释 '/!%2 3 %0a/' 来构造payload。
爆列和爆字段信息,那就在已有的表名注入基础上,稍微修改一下语句,注入新的列名或字段信息就行。

最后还搞了个小技巧,用了 'like["%2 3 "]' 来构造payload,发现通过替换特殊字符也能实现绕过。
我还提供了个tamper脚本的示例,方便大家自动化处理这些绕过操作。

总的来说,这篇文章通过实际的例子,给你详细讲了怎么绕过安全狗WAF的几种策略,希望能帮你提升一下SQL注入方面的能力。
后面还附了参考文献,想要深入学习的话可以参考下。

sqlmap绕过waf注入的步骤与步骤详解

Hey小伙伴们,今天来聊聊如何用sqlmap巧妙地绕过WAF进行SQL注入。
这招可是有步骤的哦,一起来学学吧!
1 . 找准突破口:首先,你得判断目标网站有没有SQL注入的漏洞,而且这个漏洞得能让sqlmap下手。
WAF可能是个拦路虎,所以咱们得先对目标网站做个小侦察。

2 . 定制你的武器:如果WAF或网站对输入数据查得严,就得来点特殊的Payload。
比如,用“uid=if(1 =1 ,sleep(5 ),1 )”这样的Payload,通过观察延时来判断是否成功。

3 . 变身术:sqlmap有好多Tamper脚本,能帮你改头换面,让Payload在WAF面前变得神秘莫测。
比如space2 comment.py能将空格变成注释,between.py则能将尖括号换成特殊的注入语句。

4 . 调整延时时间:对于那些需要时间的盲注,得调整延时参数。
比如,你可以增加sleep()函数的等待时间,设置个最长等待时间,让sqlmap耐心等待响应。

5 . 玩转UNION查询:UNION查询是个好帮手,能帮你绕过WAF的限制。
它可以把多个SELECT语句的结果合在一起,这样WAF就抓不住你了。

6 . 玩点小伎俩:在SQL注入里用点错误语法或者带时间戳的查询,让WAF误以为这是个无效或过期的请求。

7 . 中间人绕道:如果直接注入被WAF挡住了,那咱们就找个中间服务器来帮忙。
写个Python脚本,把原始请求和sqlmap的Payload结合起来,然后通过中间服务器送到目标服务器。

掌握这些小技巧,WAF在你面前也就不那么可怕了!加油,小伙伴们!

sql注入攻击的方法

嘿,想不想了解一下那些常见的SQL注入攻击手段?它们可不仅仅是简单的漏洞,而是黑客们用来黑进数据库的“利器”。
我来给你详细拆解一下:
首先,得看它们是咋根据输入位置来分的。
比如,有的会在URL里动手脚,有的直接在表单提交里注入,还有的通过修改Cookie或HTTP头部来玩儿花样。

接下来,咱们看看注入手法。
有利用页面返回结果来判断的布尔盲注,有根据服务器响应时间来判断的时间盲注,还有通过UNION SELECT来获取数据的联合查询注入,还有通过报错信息来获取数据的报错注入。

再来说说绕过技术,这可是黑客们的高招。
他们可能会用注释符来绕过一些检测,或者通过大小写和编码来迷惑系统。

最后,特殊场景注入也很有趣。
比如,通过宽字节注入或者滥用ORM框架来实施攻击。

这就是SQL注入攻击的常见手法,懂了吗?小心点,保护好自己的数据库哦!

绕过登录的万能密码 SQL 注入

嗨,各位技术小伙伴们!今天咱们来聊聊一个有趣的实验。
你们知道吗,通常我们登录一个应用,就是靠用户名和密码。
但是,有些应用不够小心,存在一个漏洞,可以让咱们用一种特殊的方法登录,就像拥有“万能密码”一样!就是那种,即使你不知道密码,也能登录进去的神奇操作。

这个漏洞是怎么来的呢?原来,应用在验证我们的时候,是通过一个叫做SQL的查询来检查的。
如果这个查询能找到我们的用户信息,那登录就成功了。
但是,如果应用不够安全,有人就可以利用这个漏洞,通过注释的方式来绕过密码验证,直接登录成超级管理员,就像拥有管理员权限一样。

那么,怎么利用这个漏洞来登录呢?首先,我们要对应用进行一番分析,重点看看登录的地方。
用Burp这样的工具,我们可以找到登录处的漏洞。
然后,我们可以尝试让SQL语句出错,比如加上一个单引号,如果看到服务器返回5 00错误,那就说明存在漏洞,而且这个漏洞就是可以通过单引号闭合来利用的。

接下来,我们要想办法登录成管理员。
首先,我们要改一下用户名,然后用注释的方法来跳过密码验证。
简单来说,就是在用户名后面加上--,这样就能绕过密码验证,成功登录。
不过,别忘了,登录成功后,咱们还要拿到一个登录令牌,这样才能保持登录状态哦。

好啦,今天的分享就到这里,希望这个实验能给大家带来新的启发!记得,安全第一,不要随意尝试哦~

安全测试|常见SQL注入攻击方式、实例及预防

SQL注入攻击这事儿,咱们得好好说道说道,它其实挺常见的,但危害也不小。
下面我就给大家盘点一下常见的攻击方式、举几个实例,再说说怎么预防。

一、常见的SQL注入攻击方式
数字注入: 这种方式,攻击者会在数字类型的输入参数里捣鬼,比如在URL里输入 ?id=1 OR1 =1 ,这样一来,原本该有的查询条件就被绕过去了,攻击者就能直接拿到整个表的数据。
字符串注入: 这种方式常见于用户登录等场景,攻击者会利用转义错误或者注释符进行注入,比如输入 'OR1 =1 作为用户名,就能绕过身份验证的逻辑。

二、实例
数字注入实例: URL请求: 比如这个请求 learn.me/sql/article.php?id=1 攻击者输入: ?id=1 OR1 =1 结果: 查询语句就变成了 SELECT FROM article WHERE id=1 OR 1 =1 ,这下子,整个 article 表的数据都被返回了。
字符串注入实例: 用户登录表单: 攻击者填入用户名和密码 攻击者输入: 用户名 'OR1 =1 ,密码随便填 结果: 查询语句可能就变成了类似 SELECT FROM users WHERE username='' OR 1 =1 ' AND password='any',这样一来,身份验证就被绕过了。

三、预防措施
严格类型和格式检查: 对整数类型的参数,要确保它不为空,而且确实是数字;对字符串类型的参数,可以用正则表达式来过滤一下。
输入数据过滤和转义: 可以使用一些函数,比如PHP里的 addslashes,对特殊字符进行转义,防止它们被恶意利用。
采用预编译机制: 这种方式,查询语句会在服务器端预先编译好,然后参数再绑定到这个编译好的模板里去执行,这样就能自动对参数进行转义,防止注入攻击。

总结
总的来说,了解SQL注入攻击的方式、实例和预防措施,对咱们保护数据库安全来说太重要了。
作为测试人员,咱们得掌握这些方法,这样才能在发现和报告SQL注入漏洞的时候,更准确地定位问题,也给开发人员提供更有效的建议。