DedeCMS v 5.7 sp2 RemoveXSS bypass

访客5年前黑客资讯1076

DedeCMS 简称织梦CMS,当时最新版为 5.7 sp2,最近又去挖了挖这个CMS,发现过滤XSS的RemoveXSS函数存在缺点导致能够被绕过。
相关环境
源码信息:DedeCMS-V5.7-UTF8-SP2
缝隙类型:反射型XSS
下载地址:http://www.dedecms.com/products/dedecms/downloads/
缝隙文件:/include/helpers/filter.helper.php
缝隙剖析
1.先检查/include/helpers/filter.helper.php文件,其间的RemoveXSS函数,其间代码如下:


2.过滤的大约流程是,前面先把例如十进制和十六进制的(xxxxxxxxx;)这种编码,转换回本来的字符,后边便是依据$ra1和$ra2里的黑名单进行过滤替换,例如javascript:alert(1)会被过滤成 javascript:alert(1);

3.假如这个时分,我输入的内容是
javascrip%26%2338%3B%26%2335%3B%26%2349%3B%26%2349%3B%26%2354%3B%26%2359%3B:alert(1);
4.url解码得到
javascript:alert(1);
5.这个时分进去RemoveXSS,进行之一次处理,也便是把(xxxxxxxxx;)这种编码,转换回本来的字符,得到
javascript:alert(1);
6.后边的过滤过程便是黑名单过滤了,可是javascript并不在黑名单之内,所以不会过滤,终究便是输出内容了;
7.这个时分输出t在标签的特点里面会从头还原成字母t,所以终究会在html输出javascript:alert(1);

8.下面是测验作用图:


总结
1.我画了草图,两次和一次编码的差异如下:

2.别的后边的代码会依据黑名单生成正则表达式,我拿其间一个测验,这段代码会生成正则表达式:


3.依据生成的其间一条正则表达式,能够看出,他应该是匹配javascript之间有没有歹意字符避免绕过,例如j avascript会被匹配到

4.正则匹配的是歹意字符之间的xxxxx;,以分号结束,可是有一点要留意的便是 等于   ,不需要分号结束也是能够的,例如,不加分号正则就匹配不到,可是作用也是相同的,也是能够弹窗。


5.还有一个问题,便是织梦的正则匹配[xX]0{0,8}([9ab]); ,留意{0,8},大约是八位左右,假如我超越八位,就算加上分号过滤器也匹配不到,正好十六进制格局的时分能够有许多0,满足超越八位了,例如:


终究总结
缝隙挖挖总仍是有的,织梦的XSS过滤器有三个问题:
1.两次编码的时分,正则和黑名单就没软用了;
2.黑名单匹配的时分,正则无法匹配到没有分号结束的编码;
3.也是黑名单匹配的时分,匹配编码字符大约在0-8个字符之内,可是十六进制能够超越八个字符,这个时分也无法匹配。
 

相关文章

PHP自动化白盒审计技能与完成

国内揭露的PHP自动化审计技能资料较少,相比之下,国外现已呈现了比较优异的自动化审计完结,比方RIPS是依据token流为根底进行一系列的代码剖析。传统静态剖析技能如数据流剖析、污染传达剖析应用于PH...

保证你网页的安全

 从技能到安全, 这是一个趋势. 曾经寻求的是比较炫酷的技能, 等完成往后发现, 自己还能做什么. 炫技完了之后,差不多就该到悟道的时分了. 用户安全, 便是一个很大的禅. 苹果回绝 FBI, goo...

无视HTTPS建议中间人进犯

大约十年前,Firesheep制作了一个大新闻。多年来,安全人员现已了解了公共WiFi网络的损害,但直到有人创立了这个用户友爱的Firefox扩展插件之后,这个安全问题才得到了人们的重视。从那时起,网...

Web缓存操控战略详解

Cache-Control 办理Web缓存的最常用和最有用的办法之一是经过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着咱们页面上的一切内容都能够具有十分精细化的...

中、小企业怎么自建免费的云WAF

概述 WEB进犯是十几年来黑客进犯的干流技能,国内的大厂们早已把WAF作为安全基础设施的标配,市面上也有许多安全厂商供给了WAF产品或云WAF服务。 关于没有自己安全团队,却又饱尝sql注入、xss...

高校SQL注入防治扼要计划

 1、避免SQL注入的动机 近来教育职业的信息安全问题真是一波未平一波又起:连续发作多个高校网站体系被更改,影响恶劣;高校密布被爆SQL注入缝隙,触及80%以上的高校;教育职业成为电信欺诈的重灾区,据...