我这里用的是1.0版本。官网是:www.sinsiu.com
审计环境:
vsCode
seay代码审计攻击
MAMP
seay扫描结果如下:
0x01:failure
首先是一个文件写入
发现有可控参数file,搜索在哪里调用了
可以看到是post传入的数据
发现调用点是在切换模版处
会写入到config.php,但是网站的post函数是有过滤函数的
单引号被转义了,无法进行闭合写入
一个伪造ip的地方
后面debug发现的确也将ip带入到了数据库查询中,但是这里进行了限制,无法进行注入,xss操作
0x02:任意文件删除
在admin/deal.php中
没有考虑../的情况也没有进行过滤
顺便提一下,在这个cms中php文件对应url的格式为:/SINSIU_1_0/admin.php?/deal/,即/admin.php?/deal/为admin/deal.php这个文件,调用函数的方法为cmd
所以这里利用方法为
0x03:任意文件读取
在/admin/module/file/lang_edit.php中
file_get_content是从$global[‘path’]中取得的,并进行了url编码,在后台语言编辑处
点击一个修改,抓包可以看到
红框内即为file_path变量的值,我们将其修改为..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd
成功进行文件读取
0x04:前台sql注入漏洞
在index/search/search_main.php中
发现直接将搜索的内容带入到了数据库查询中,且没有进行过滤
构造a’ and sleep(3) #,然后进行url编码
点击搜索即可发现页面有所延迟
0x05:后台sql注入漏洞
在admin/module/goods/deal.php中
可以看到虽然id经过了post过滤处理,但是id为int型,无需闭合直接进行注入
添加一个产品然后点击删除
id处即可直接注入
后台还有多处这样的注入
0x06:任意文件写入
在admin/module/file/deal.php中
即编辑语言包处
post函数的其中一个参数设置为了no_filter
点击一个保存,可以看到数据包
修改.txt为php保存即可