代码审计:
检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。
首页:
1. 反射型XSS(1)
分析:可控变量$_g_keyword,首页文件路径,/PHPsheCMSv1.2/data/cache/template/index/header.php,代码如下。
通过目录文件分析,有两个文件夹存在静态 html 页面,分别是模板文件 template 和 data/cache/template,首先通过 echo 定位查询代码语句:
分析可控变量,输入框参数为 keyword,代码变量名为$_g_keyword,可控,可造成反射型XSS漏洞,构造语句需要绕过双引号与尖括号,payload为
"><script>alert('xss')</script>
验证:
2. 反射型XSS(2)
分析:可控变量 $_g_order_id,$_g_user_phone
首页文件 /PHPsheCMSv1.2/data/cache/template/index/header.php 分析跳转接口 url(order-list)
全局搜索定位跳转漏洞文件中:
变量全局搜索,找变量处理文件:
定位 pe_select,处理条件文件中
分析与数据库交互,但未做任何过滤,但需要绕过本身的语句即可造成反射型 XSS 漏洞。
payload=http://192.168.1.13/phpshe/order/list?order_id=%7D%22%3E%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E&user_phone=%7D%22%3E%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E
3. 反射型XSS(3)——后台
会员管理:
跳转至:
输出
payload="><script>alert('xss')</script>
验证
4. 存储型XSS——后台
文章列表处:
一直定位至文件:article_add.html
调用了一个框:
可插入 XSS 代码最后定位输出至首页:
测试:
5. IP伪造漏洞
分析:/include/function/global.func.php
获取IP时,没有验证IP格式,导致IP存在伪造注入漏洞。
验证:
6. CSRF跨站伪造漏洞
分析:user_login.php --> /index.php 页面跳转用户后台登录页面,左侧栏接口跳转文件为 user_menu.php,代码如下:
根据 referer 和 token 跳转至主要函数目录:
验证
7. 验证码泄露可绕过
根据admin接口登录:admin.php?mod=do&act=login跳转模块文件do.php
定位到管理员登录页面:
未作加密处理,明文地址可直接识别绕过:
8. 本地文件包含漏洞
if (in_array("{$mod}.php", pe_dirlist("{$pe['path_root']}module/{$module}/*.php"))) {include("{$pe['path_root']}module/{$module}/{$mod}.php");
漏洞代码,可以进行本地文件包含漏洞。
生成1.php文件用于测试,测试结果如下:
- End -
原文始发于微信公众号(NS Demon团队):SheCMS v1.2审计练习
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论