当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-089504

漏洞标题:360webscan防御脚本绕过

相关厂商:奇虎360

漏洞作者: MayIKissYou

提交时间:2014-12-31 15:41

修复时间:2015-02-14 15:42

公开时间:2015-02-14 15:42

漏洞类型:设计缺陷/逻辑错误

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-31: 细节已通知厂商并且等待厂商处理中
2014-12-31: 厂商已经确认,细节仅向厂商公开
2015-01-10: 细节向核心白帽子及相关领域专家公开
2015-01-20: 细节向普通白帽子公开
2015-01-30: 细节向实习白帽子公开
2015-02-14: 细节向公众公开

简要描述:

测试一下是不是真的好使,我是来蹭rank的

详细说明:

1:之前的漏洞描述里面有点知识理解错了,但是不影响结果,测试下360webscan的看能不能搞定
2:在正则表达式里面,\s的理解有如下字符,在php,python以及c下面测试结果均为: 0x09,0x0a,0x0b,0x0c,0x0d,0x20如下6个字符,
3:在如下帖子中知名,mysql理解的whitespace有如下字符: 0x09,0x0a,0x0b,0x0c,0x0d,0x20,0xa0

http://zone.wooyun.org/content/16772


感谢狗哥哥分享的帖子
4:如此看来,0xa0是正则\s中不不包括的,在大多数的union select注入识别中 一般都会输入类似的代码union[]select[] []的都喜欢使用\s的匹配,这里就很有可能由于 web端和mysql端对于其理解不同造成bypass
5:cmseasy使用的是360webscan,下载最新版本20141015,其中360webscan防御的正则为

\\<.+javascript:window\\[.{1}\\\\x|<.*=(&#\\d+?;?)+?>|<.*(data|src)=data:text\\/html.*>|\\b(alert\\(|confirm\\(|expression\\(|prompt\\(|benchmark\s*?\(.*\)|sleep\s*?\(.*\)|load_file\s*?\\()|<[a-z]+?\\b[^>]*?\\bon([a-z]{4,})\s*?=|^\\+\\/v(8|9)|\\b(and|or)\\b\\s*?([\\(\\)'\"\\d]+?=[\\(\\)'\"\\d]+?|[\\(\\)'\"a-zA-Z]+?=[\\(\\)'\"a-zA-Z]+?|>|<|\s+?[\\w]+?\\s+?\\bin\\b\\s*?\(|\\blike\\b\\s+?[\"'])|\\/\\*.*\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT@{0,2}(\\(.+\\)|\\s+?.+?|(`|'|\").*?(`|'|\"))|UPDATE@{0,2}(\\(.+\\)|\\s+?.+?|(`|'|\").*?(`|'|\"))SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE)@{0,2}(\\(.+\\)|\\s+?.+?\\s+?|(`|'|\").*?(`|'|\"))FROM(\\(.+\\)|\\s+?.+?|(`|'|\").*?(`|'|\"))|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)|\\/\\*.*?\\*\\/|'


我们看关键部分,第一部分是union部分

UNION.+?SELECT@{0,2}(\\(.+\\)|\\s+?.+?|(`|'|\").*?(`|'|\"))


此部分关键的是\s+?这里的意思是非贪婪的匹配1个或多个空白,注意mysql中的%a0哦,貌似输入在这会有效果
第二部分是select部分的

(SELECT|DELETE)@{0,2}(\\(.+\\)|\\s+?.+?\\s+?


同样注意这里的\s+?,原理同上
6:我们在浏览器中输入
http://192.168.4.70/cmseasy/uploads/index.php?id=1 union select 1 from table
查看结果如下:

dddddd.jpg


7:我将%a0放置在select和from的后面

555555.jpg

漏洞证明:

6:我们在浏览器中输入
http://192.168.4.70/cmseasy/uploads/index.php?id=1 union select 1 from table
查看结果如下:

dddddd.jpg


7:我将%a0放置在select和from的后面

555555.jpg

修复方案:

修改正则

版权声明:转载请注明来源 MayIKissYou@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-12-31 17:50

厂商回复:

感谢您的反馈,我们会尽快处理此问题。感谢大家对360产品安全的关注,谢谢。

最新状态:

暂无