0x00 环境准备
LaySNS官网:http://www.laysns.com/
网站源码版本:LaySNS_v2.2.0
程序源码下载:https://pan.lanzou.com/i0l38li
默认后台地址:http://127.0.0.1/admin.php/login/index.html
默认账号密码:admin/admin
测试网站首页:
0x01 代码分析
1、 漏洞文件位置:/application/index/controller/Index.php 第50-66行:
这段函数获取参数ks后,并未对参数进行任何处理,输出参数到控制器所对应的视图文件index_search.html中,导致程序在实现上存在存储型XSS跨站脚本漏洞,攻击者通过该漏洞可在页面中插入恶意js代码,获得用户cookie等信息,导致用户被劫持。
0x02 漏洞利用
1、在首页的搜索框输入Payload:111<script>alert(/xss/)</script>
2、 点击搜索成功触发js代码
0x03 修复建议
1、建议进行全局防护,对部分单点进行过滤;
2、建议对参数做html转义过滤(要过滤的字符包括:单引号、双引号、大于号、小于号,&符号),防止脚本执行。在变量输出时进行HTML ENCODE处理。 PHP应用:可以使用htmlspecialchars对用户参数进行编码 。
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。