360webscan防御脚本绕过

时间:2015-1-21    作者:admin    分类: 技术交流


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

标签: 绕过 360webscan