先把我们的源码下载好,并且搭建好
打开我们的Seay源代码审计系统,把源码丢进去自动审计一下
我们可以看到这里第一条就是可能存在SQL注入的地方,点进去看看
我们可以继续跟踪一下这个函数,函数代码如下
1 |
function deep_addslashes($str) |
这函数定义的大概意思就是如果传进来的参数是数组,每个过滤一下,如果不是,就直接对传进来的参数先经过一下addslashes这个函数,也就是对某些特殊字符进行转义
我们继续回到漏洞可能存在的ad_js.php进行分析
这里判断了是否有传入ad_id参数,如果传入了先对他使用一下trim函数,否则为空
如果不为空,执行如下的语句
1 |
$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id); |
跟踪一下这里的getone函数,盲猜是进行数据库查询,因为后面有具体的数据库查询语句
1 |
function getone($sql, $type=MYSQL_ASSOC){ |
再追踪一下这个query函数
1 |
function query($sql){ |
可以看到,query就是把语句拿到数据库里查询,如果查询出错执行$this->dbshow(“Query error:$sql”);,如果查询成功函数返回查询的结果,getone函数就是把查询出来的结果存放到数组里,这里还有个dbshow函数,继续跟入
1 |
function dbshow($msg){ |
这个函数的作用就是输出错误信息
大致的代码分析完了,这里基本上可以说没有过滤
之后就靠这里的echo输出结果,我们知道了这个注入点对他进行注入看看,直接构造payload
Payload:
1 |
?ad_id=-1 order by 8# //报错,得知7个列 |
额,这里挺尴尬的,这个cms自动转义了引号,那么平常的那种可能爆不了,但是我们知道他数据库怎么组成的直接注入就好了
这里又看了别人的代码审计,发现可以通过16进制来表示表名
ad_id=-1%20union%20select%201,2,3,4,5,6,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=0x626c7565
Payload:
1 |
-1 union select 1,2,3,4,5,6,concat(admin_name,1,pwd) from blue_admin limit 0,1# |
我们这里直接拿1来分隔吧,反正都一样
Bluecms代码审计之存储型XSS
注入点-1
我这里直接找的功能点,在Bluecms中有个人资料可以修改,如果过滤不当就可以造成XSS漏洞,我们这里来看看
个人资料在user.php下,我们直接看文件吧
主要代码如下
1 |
$birthday = trim($_POST['birthday']); |
他这里很明显啊,除了对address有把特殊字符转化为html实体以外,其他都只用了一个trim函数
所以这里就可以造成一个存储型XSS,因为这里提交的个人资料是存放到数据库里会被再次查询的
直接插入XSS代码
注入点-2
同样的在user.php下面有个添加新闻 也可能存在XSS漏洞,我们随便看看吧
1 |
elseif ($act == 'do_add_news') { |
这里很明显,只有content和descript没有对特殊字符进行html实体化编码
但是conten有一个filter_data,跟踪一下
1 |
function filter_data($str) |
正则匹配了一些东西,这里很容易绕过
1 |
<img src="1" onerror=alert(1)> |
Bluecms代码审计之文件上传配合文件包含getshell
首先要getshell,如果没法直接上传普通的webshell,那就只能找文件包含了
这里找到一处文件包含位于user.php中
可以看到get请求传入一个act,然后post请求传入一个pay,就会去包含include/payment/‘.$_POST[‘pay’].”/index.php这个文件,这里他的变量处在中间,没办法只能把后面截断了,这里还是和熊海cms那样利用长度限制来截断
这里随便找个上传点上传个图片马 首先要包含这个文件,需要知道他文件的目录在哪
所以头像上传是个不错的选择,上传好以后直接F12得到他的位置
接下来直接去利用文件包含即可
这里有post的参数,菜刀肯定是连不上了,我蚁剑貌似也出了点问题
每日分享好资料用来记录自己代码审计的学习笔记包含源码和笔记74CMS RCE漏洞分析(截图示例):app cms漏洞分析(截图示例):bluecms v1.6漏洞分析(截图示例):收集于:https://github.com/KpLi0rn/Code-audi…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论