小言_互联网的博客

bluecms1.6 代码审计【失败的一次】

328人阅读  评论(0)

前言

正处于hvv阶段,但是因为学校原因,并没有参加这次hvv。好在,跟着各位师傅们的努力成果,也做了一些1day,也提交了一些src(希望能过)。

接下来开启新的学习之路—代码审计。

主要目的:加强阅读代码的能力。(主要是跟着师傅们学0.0)

环境

Windows xp(win 7 有点问题)
phpstudy
bluecms 1.6

开始

先使用工具扫一波:

好了,开始自己慢慢来吧。

ad_js.php

这里的变量直接进行了拼接,调用了getone函数:

找到getone函数:

直接执行了sql语句(query–执行sql语句)。

还有一个问题,传参的方式是什么,找一找:

就在最开头…而且去除了参数两侧是空字符。

测试一下:

这里输入单引号,多了个\,进行了转义处理。找一找是哪里进行了处理:

在最开始,包含了一个文件,打开看看:

结局疑问。

继续测试:

这个有个疑问,为什么 and 1=2 不报错:

admin/ad.php同样有该参数:

应该也存在sql注入,但是我的环境好像有问题0.0,先这么着吧。

这种类似的sql注入挺多的,就不一一列出了(我会尝试的0.0).

include/common.fun.php

配置文件中对传入的参数进行了一些保护(addslashes)。

但是,在获取ip时,并没有对数据包进行保护(getenv 获取系统变量):

这里调用了getip()函数,进行查找:

好像没有做任何处理

但是触发点在哪里0.0

在guest_book.php中,进行留言,会插入信息:


进行payload构造:

X-Forwarded-For:127.0.0.1',database())-- +

得到数据库:

在comment.php中:

也有类似的操作(但是没有搞出来)

XSS

/admin/user/php

先黑盒测试一下:

结果:

触发的位置:
电子邮件处:

user.php

同样的:

存在存储型xss。

先审计一下admin/user.php。
请求的页面url:/admin/user.php?act=edit&user_id=2


没有任何保护。

再看看user.php:

同样,只是去除了空白符。

文件包含


查看源码:

包含的变量可控。

配合文件上传使用。

文件上传点:

上传图片马:

复制图片地址,获得路径:

尝试包含,失败了。

总结一下

第一次进行代码审计,主要是了解一下代码审计的技巧,应该先黑盒测试一下,再进行审计,这样至少知道漏洞点在哪里。。。

登录点的万能密码,逻辑漏洞还都没有测试,先这样吧。

另外,我的环境好像有问题,后台都没有页面。。。好好调试一下。


转载:https://blog.csdn.net/qq_45742511/article/details/115866685
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场