【网络安全】——sql注入之云锁bypass

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
简介: sql注入不会绕过WAF?关注我,让我带你由简入难实战各个WAF,前天我们实战了安全狗的WAF,今天先来看看比它难度更高的云锁WAF,你会绕吗?看我带你将它拿下

作者名:Demo不是emo

主页面链接主页传送门  创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷  座右铭:不要让时代的悲哀成为你的悲哀  专研方向:网络安全,数据结构

每日emo:你生活在光亮里,就觉得全世界都是光亮的

sql注入不会绕过WAF?关注我,让我带你由简入难实战各个WAF,前天我们实战了安全狗的WAF,今天先来看看比它难度更高的云锁WAF,你会绕吗?看我带你将它拿下

目录

一:环境配置

1.云锁WAF

2.sqli-labs的sql注入靶场环境

3.检测WAF是否起作用

二:实际操作

1. order by语句绕过

2.and 连接符绕过

3.substr截取函数绕过

4.取字段名绕过

5.取数据


1.云锁WAF

环境配置首先就是要搭建云锁的WAF防护,这里也给大家准备好了,连接如下

链接https://pan.baidu.com/s/10i982aEUOt2faz78ndVriw?pwd=u6w6  提取码:u6w6

2.sqli-labs的sql注入靶场环境

这个我相信屏幕前的渗透大牛们应该都有吧(没有的可以私我拿),这里就不多介绍了,主要是拿实战环境过不了审,所以只能用靶场,大家理解一下,思路都是一样

3.检测WAF是否起作用

这里以sqli-labs靶场的第一关做演示,如下

传入id=1后,加单引号,正常报错,说明可能存在注入

http://192.168.0.108/sql/less-1/?id=1'

再加入%23,回显正常,说明为字符型注入

再使用union select 语句,如下

http://192.168.0.108/sql/less-1/?id=1' union select %23

出云锁拦截页面,说明云锁布置成功,如下

  1. order by语句绕过

在尝试云锁对order by语句的防护绕过时,我使用了大量的fuzz,但是仍然绕不过去,所以只能寻求order by的替换方式,那就是group by语句,该语句效果等同于order by,经过测试,这个语句并没有被云锁拦截

http://192.168.0.108/sql/less-1/?id=1' group by 3%23

2.and 连接符绕过

云锁的and绕过也比较简单,将and替换为%26%26(&&的url的编码)即可绕过检测

http://192.168.0.108/sql/less-1/?id=1' %26%26 1=1 %23

这里的&&必须换成url编码,否侧&会被识别为变量标识符

3.substr截取函数绕过

截取函数也是同理,substr()函数肯定是用的最多的,对应的也是被封的最多的,这里其实只需要将substr()函数换成left()函数,能达到一样的效果

http://192.168.0.108/sql/less-1/?id=1' %26%26 left("abcd",1) = 'a' %23

4.取字段名绕过

云锁的取字段操作,因为涉及太多的敏感词,而fuzz对于云锁基本没用,所以我们直接另辟蹊径,这里也是我想使用的一个技巧——left函数的另类使用

因为left可以使用, 所以就可以构造如下的语句

select * from users where id = 1 and left(abcd,1)='a'

效果如下

果不其然,提示没有abcd这个字段,此时我们将abcd换成id,效果如下

可以看到不会报出不存在字段这个错误了,说明存在这个字段,也就是通过该方法可以对表中已有的字段名进行判断

所以我们可以构造一个常用字段名的字典,来进行一个爆破

至于为什么会报这个错误,具体的原理前面的文章也有介绍过,这里就不多讲了,想了解的小伙伴可以点此移步到我对此进行讲解的博客

5.取数据

现在我们已经知道字段名了,接下来就是一个正常的盲注流程,通过字段名一位一位取数据,这里就不多讲了,比如下面这个就是判断username中的数据有没有第一位字符是a的,有的话就不会报错

select * from users where id = 1' %26%26 left(username,1) = 'a' %23

相关文章
|
1月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
92 5
|
1月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
53 5
|
1月前
|
SQL 安全 数据安全/隐私保护
Python Web安全大挑战:面对SQL注入、XSS、CSRF,你准备好了吗?
在构建Python Web应用时,安全性至关重要。本文通过三个真实案例,探讨了如何防范SQL注入、XSS和CSRF攻击。首先,通过参数化查询替代字符串拼接,防止SQL注入;其次,利用HTML转义机制,避免XSS攻击;最后,采用CSRF令牌验证,保护用户免受CSRF攻击。这些策略能显著增强应用的安全性,帮助开发者应对复杂的网络威胁。安全是一个持续的过程,需不断学习新知识以抵御不断变化的威胁。
80 1
|
1月前
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
在Python Web开发中,构建安全应用至关重要。本文通过问答形式,详细解析了三种常见Web安全威胁——SQL注入、XSS和CSRF,并提供了实用的防御策略及示例代码。针对SQL注入,建议使用参数化查询;对于XSS,需对输出进行HTML编码;而防范CSRF,则应利用CSRF令牌。通过这些措施,帮助开发者有效提升应用安全性,确保网站稳定运行。
36 1
|
1月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,但安全挑战不容小觑。本文剖析Python Web应用中的三大安全威胁:SQL注入、XSS及CSRF,并提供防御策略。通过示例代码展示如何利用参数化查询、HTML转义与CSRF令牌构建安全防线,助您打造更安全的应用。安全是一场持久战,需不断改进优化。
35 3
|
1月前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
66 6
|
1月前
|
SQL 安全 JavaScript
告别Web安全小白!Python实战指南:抵御SQL注入、XSS、CSRF的秘密武器!
【9月更文挑战第12天】在Web开发中,安全漏洞如同暗礁,尤其对初学者而言,SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF)是常见挑战。本文通过实战案例,展示如何利用Python应对这些威胁。首先,通过参数化查询防止SQL注入;其次,借助Jinja2模板引擎自动转义机制抵御XSS攻击;最后,使用Flask-WTF库生成和验证CSRF令牌,确保转账功能安全。掌握这些技巧,助你构建更安全的Web应用。
33 5
|
3月前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
78 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
3月前
|
SQL 运维 安全
WAF如何防御SQL注入?
【7月更文挑战第25天】WAF如何防御SQL注入?
261 9