前言
正处于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