发卡网审计

  • A+

发卡网代码审计

这是前段时间写的,今天发一下记录一下吧,怕以后找不到了
2020-3-10


0x00 前言

前端时间看moonsec的直播代码审计,今天下载来复现一波。下载地址:https://www.lanzous.com/i53acdi

0x01 代码审计

enter image description here

丢进seay审计一下吧

挺多的,一个个看吧,先看SQL注入吧

来看一下源码

这里的outtradeon、gid、money、rel、type、number参数都是通过POST传输的,然后带入了insert into 插入数据库,除了outtradeon都有_if,然后去 if/function.php文件中看到了这个_if

可以看到这里是对一些字符进行替换来达到防御的效果,不过没过滤单引号,所以还是可以尝试一下注入,抓包试一下

需要注意的是这里上面有限制包头类型 X-Requested-With: XMLHttpRequest 如果没有页面返回不会是正常的

0x02 漏洞测试

这里是正常的包(输出sql语句是因为我在源码中echo了),我们可以丢sqlmap跑一下试一下

果不其然失败了,手工测试吧。上面说到了除了outtradeon其他都有过滤,那么这里就测试outtradeon参数吧。

单引号报错,尝试正常注入

提示ok,去数据库看一下

可以看见库名出现了,还得进数据库看有点鸡肋了,这里可以用dnslog盲注

0x03 后台搜索SQL注入

admin/search.php 这里看到POST传入了kind和value分别赋值给了type和txt,之后没做过滤便带入了sql查询。

burp抓包尝试

这里是正常返回,加个单引号,然后用seay的mysql监控看一下语句(前面也是看这个来测试,好用)

可以看到没有返回数据了,而在监控中可以看到有%,闭合一下

这里可以用盲注

0x04 反射性xss

/template/zongzi/query.php 这里可以看到在input标签中有一段PHP代码
GET获取out_trade_no并且没有过滤就输出。

0x04 总结

前面第一个SQL注入的时候测试insert into 测试了半天都不行,然后去百度了一下,才发现是用逗号隔开。。。 然后测试盲注的时候,在mysql中没问题,去注入的时候就不知道咋回事不行了,尴尬。还有直播有讲文件包含,复现失败,不知道什么原因

应该还有其他的漏洞,没审计出来。总的来说就是太菜了,果然还是得多动手去实践才知道问题所在。

相关推荐: 隐式远程桌面服务——超越隐藏会话

​在某些情况下,我们需要在不把客户踢出会话的前提下查看客户的屏幕,以此来实现一些经过验证的屏幕截图或着访问打开的GUI应用程序窗口,其中包含合法用户通过RDP(Remote Desktop Protocol)与您连接时横向移动的秘密信息。 ​市场上有许多第三方…