熊海CMS v1.0代码审计实战

环境搭建

源码下载地址:https://down.chinaz.com/soft/36930.htm

这里我是用宝塔搭建的,php版本使用的是5.6

代码审计

先拿工具跑一遍

1.文件包含

index.php文件包含

参数r通过GET方法接收到文件名后先检查是否为空或者为index文件,是则返回flase。然后就传给include包含,默认是包含files文件夹内的文件。

这里在files下创建了个内容为phpinfo的php文件,然后利用文件包含

接下来看admin/index.php,发现和上面那个index.php内容一样

2.xss

(1)files/content.phpSQL语句报错引起的反射型XSS

参数cid拼接入SQL语句,如果有错误会显示在页面。将cid参数值写成XSS语句,SQL语句执行错误,将xss语句一并输出显示在页面,造成反射型XSS

复制代码
/index.php?r=content&cid=3"><script>alert(1);</script>

(2)file/contact.php反射型XSS

这里从用户端接收到的page参数会显示在页面上

虽然这里有adsdslashes函数过滤(转义一些预定义字符,主要用于防御SQL注入),但这并不能防止XSS

复制代码
/index.php?r=contact&page=3<script>alert(1)</script>

(3)files/list.php中page参数也是一样的问题这里不意义列举了

3.sql注入

(1)files/content.php数字型注入

这里没有对$id变量(接收cid参数值)做引号保护,这里也没有其他的过滤,可以直接数字型注入

这里用的报错注入

复制代码
/?r=content&cid=1%20and%20extractvalue(1,concat(0x7e,(select%20user()),0x7e))

(2)files/software.php数字型注入

这里和上面那个基本类似

(3)管理员登录SQL注入引起的登录绕过 /admin/files/login.php

user、password参数没有经过任何过滤。这里校验用户名然后再校验密码

后台的sql注入还是挺多的,我这里就不一一看了

4.越权或未授权

inc/cheklongin.php是对用户是否登录状态的验证作用

可以看到user=admin,根据cheaklongin.php的验证逻辑,我们只要每次访问后台带上user=admin即可越权成为管理员

复制代码
cna=pUvtID6imjICAWd0SAykNrgF; language=English; SMS_GATEWAY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3NTYzNjkzODgsImp0aSI6ImN2bTRqa3E5am5qY29hdjVobDNpMmRnNnAwIiwiaXNzIjoiIiwibmJmIjoxNzU2MzY5Mzg4LCJleHAiOjE3NjE1NTMzODgsImRhdGEiOiJ1c2VySUR8aToxO2VtYWlsfHM6MTc6XCIyODM2ODkyNzY2QHFxLmNvbVwiO25hbWV8czo1OlwiYWRtaW5cIjtpc0FkbWlufGI6MTt0aW1lWm9uZXxzOjE0OlwiUGFjaWZpYy9NaWR3YXlcIjtMQVNUX0FDVElWSVRZfGk6MTc1NjM2OTM4ODsifQ.zvu9oE7Y-GikB-pHtKrVuAOCbxX87HjUWMKx06g-kf44bJ-JJeRc87DZqOMi7AKxuaFXFTQcDR8VmK1s1pPksg; 5801d584ec3fc8b2305ef89f1ccd0ce1_ssl=3dbddfaf-1d9a-4b92-90a5-d8bfe6471975.qoCuhoUTACRddC-ndWyL6bQy73c; isg=BAwM20I9iU2pTpxFSxW5a9LF3Wo-RbDvS9KsN2bMJLda8a77jlOxf11ClXlJouhH; tfstk=gI2xIg0QUabDNzT2DPflsAaj8AslK_qVnrrBIVAshzKSycpX5lGfF7niccgjGlZ6Xlkj_S0ioVHTbyIl-9X30okZdwbhKjwqgrDEcI9scG6SxAnfMkE8rokZCabhK9q40rciUUHsCgHSbcisCjg12YiEPKi6hcT52cuSCdGjGYMSvcL65da_VgnZPVMsCPM52cuS5AMsn7_tPngMBSo7s0DXhfv6C8nxNbqjPuZljmlAGo0yC0y-DNgQc4p6C2FzdTZ8mZpUqxrTJD4cFKULAlwEnRjwNqy-vrhTEGA-qWqz1m25bI0uuuwmN-sMx0P_zRHmph6b2x3xO-GJcizQ2lNnw8jCLxHjl5D4jHQ02-U008EMfQMxn7hLHv6elVVuvRnTQNW8JkZ_Lx2GbQg4ecsyHy4ptcTnJcAf2gdw_jiydbdL634IDWm--iB9_ClP403h2gdw_jir22jAkCRZag5..; PHPSESSID=aivcf6h4n4ke1c8vtpgal92e53; BLUE[user_id]=2; BLUE[user_name]=ooii; BLUE[user_pwd]=036d5952911a2ebe21d26b85be4d7ffb; user=admin

结语

这套源码拿来练手是极好的,可以试着审计审计

相关推荐
云祺vinchin11 分钟前
混合云异构环境下的灾备实战:VMware+Hyper-V统一保护方案解析
安全·容灾备份·容灾备份体系
chengbei1237 分钟前
SoloXSS:一款现代化的自托管 XSS平台
web安全·xss漏洞·xss平台
智商偏低41 分钟前
Windows Nginx 完整安装 + 启动教程
运维·nginx
plainGeekDev2 小时前
ProGuard → R8
android·java·kotlin
雨白2 小时前
C 语言字符串:从字符数组、指针到核心操作实战
android
Java小白笔记3 小时前
MySQL中存储过程大表分批删除历史数据
android·mysql·adb
一楼的猫3 小时前
AI写作检测机制技术深度解析:200+维度检测、叙事指纹与网文AI辅助怎么过审
人工智能·学习·安全·chatgpt·ai写作
aidou13143 小时前
Kotlin中沉浸式状态栏显示布局
android·kotlin·windowmanager·沉浸式状态栏·insetslistener·insetscompat·systembars
技术不好的崎鸣同学3 小时前
[极客大挑战 2019]EasySQL 思路及解法
网络·安全·web安全
磐时信息技术4 小时前
GB 44495/44496正式施行:智能网联汽车信息安全与软件升级进入强制合规阶段
网络安全·信息安全·汽车·gb44495·gb44496