360webscan防御脚本绕过mseasy使用的是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
查看结果如下:
![]()
7:我将%a0放置在select和from的后面
![]()
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论