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

测试网站首页:

 

【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞_搜索

0x01 代码分析

1、        漏洞文件位置:/application/index/controller/Index.php 第50-66行:

  

【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞_html_02

这段函数获取参数ks后,并未对参数进行任何处理,输出参数到控制器所对应的视图文件index_search.html中,导致程序在实现上存在存储型XSS跨站脚本漏洞,攻击者通过该漏洞可在页面中插入恶意js代码,获得用户cookie等信息,导致用户被劫持。

0x02 漏洞利用

1、在首页的搜索框输入Payload:111<script>alert(/xss/)</script>

【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞_搜索_03

2、        点击搜索成功触发js代码

 

【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞_搜索_04

0x03 修复建议

1、建议进行全局防护,对部分单点进行过滤;

2、建议对参数做html转义过滤(要过滤的字符包括:单引号、双引号、大于号、小于号,&符号),防止脚本执行。在变量输出时进行HTML ENCODE处理。 PHP应用:可以使用htmlspecialchars对用户参数进行编码 。

 

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞_php_05