雨笋教育小编来分享渗透讲师近期的的一篇技术干货!
对于一次开源管理系统的源码审计,小试牛刀,记录一下,顺便可以一起学习学习。
开源系统:熊海CMS v1.0
基于环境:Phpstudy
不说了,先搭建一波,再来看看审计~
点击-提交-入魂~
好了,让我们打开源代码审计系统冲一波,把源码拖进来,冲~
自动审计后,发现有34个可疑漏洞,接下来就得来排查,看有没有的的确确可利用的。
漏洞发掘:
/index.php 与 /admin/index.php 存在文件包含漏洞
分析一波:
我们发现定义了一个 r ,并且使用 GET 方式传输,只用了一个 addslashes(返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上反斜线。这些字符是单引号、双引号、反斜线或NULL等)。
然后通过 include 函数,直接包含并运行文件。
尝试利用:
根目录-新建一个 phpinfo.php 文件,内容为:
Payload:
192.168.3.158/?r=../phpinfo
成功利用。
/inc/checklogin.php 存在越权漏洞
PS:这个漏洞的话,自动审计并没有检测出来,但是 inc 目录下一般存储的都是一些极为重要的配置文件,所以一定要打开看看。
分析一波:
发现定义了一个 user 参数传递到 Cookie 当中,然后用 if 判断传递到Cookie 中的 user参数,值是否为空,如果为空,跳转到 登录界面。
没有任何过滤,我们试想一下,如果自主添加一个 user 并且赋值,会有什么效果。
尝试利用:
先登入后台,获得路径,然后注销登录。
Payload:
192.168.3.158/admin/?r=wzlist
现在右上角这里有用户名显示,因为我们现在是正常登录进入后台的。
退出登录后,直接使用 Cookie 管理插件,新建一条Cookie 值,名为 user ,值自定义,不为空即可。 然后,重新访问后台的 url 看看。
我们可以发现,右上角没有 用户名 显示,因为我们是绕过了登录,越权进入的后台。而且,管理员可以使用的权限,我们全部拥有。
/admin/files/manageinfo.php 储存型XSS
分析一波:
我们发现后台资料修改界面,没有任何过滤。
尝试利用:
构造语句,尝试利用。
Payload:
">
/files/content.php 存在Sql注入漏洞
分析一波:
我们发现 $id 并没有被引号包裹,由此存在了注入。
尝试利用:
构造语句,进行尝试。
Payload:
192.168.3.158/?r=content&cid=16 and updatexml(1,concat(0x7e,(select concat(user,0x7e,password) from manage)),0)
成功通过报错注入获得内容。
其实,这个CMS漏洞远不止如此,先写到这了,hhhh~
渗透测试课程学习:15386496074
技术交流群:718860842
*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。