代码审计(上)

https://www.freebuf.com/news/203795.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装模块

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
不同目录下的放着不同对应文件,我们可以对这些目录下手
在这里插入图片描述
在这里插入图片描述
我们可以看到上图中数据都是闭合了的,那么是不是也可以?
在这里插入图片描述
但是很明显报错了
在这里插入图片描述
然后我们通过白盒审计,发现有魔术引号
在这里插入图片描述
触及知识盲区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开始我们的写马
在这里插入图片描述
在这里插入图片描述

写入后,还是失败,
在这里插入图片描述
其实这个之所以不成功,是因为这个双引号解析漏洞要在php版本5.5以上才行。
换到5.5以上版本,
在这里插入图片描述
执行成功
在这里插入图片描述

前台模块

注册一个新用户

在这里插入图片描述
然后抓个包,发现她会提交到user.php
在这里插入图片描述
既然会跳转,那肯定会有标识,前面的数据一看就是我们自己填的,后面一个不知道。
在这里插入图片描述
用审计软件一查,发现是一个非常标准的用户注册页面。仔细看了后,发现并没有什么过滤。
在这里插入图片描述
既然没有检测,那就找个地方来个xss,发现不行,然后也没抓到包,说明是一个前段检测。
但是在这里插入图片描述

在这里插入图片描述
既然前段存在检测,那我们就抓包修改
在这里插入图片描述
注册成功
在这里插入图片描述
然后弹窗了。
在这里插入图片描述
既然前台都可以看到,我们在后台,能不能看到呢?
(从前台达到后台)
一点会员信息,马上弹窗。说明是一个存储型xss
在这里插入图片描述

sql注入

我们再看下,好像啥过滤都没有,会不会存在sql注入呢?
在这里插入图片描述
我们也来亲自试一下
在这里插入图片描述
在这里插入图片描述
我们在注册用户这里开始写入
在这里插入图片描述
抓包注入

在这里插入图片描述
在这里插入图片描述
我们看到上图的单双引号和井号都没生效。那么是不是不存在sql注入呢?

别急,我们这个是白盒,我们有源码,我们来看源码是怎么记录的

在这里插入图片描述
审计工具
mysql监控
在这里插入图片描述

然后我们重新登录一下用户

在这里插入图片描述
用mysql监控系统,可以看到mysql数据
在这里插入图片描述
重新注册一个后,抓包sql注入

在这里插入图片描述
可以看到我们刚刚插入的mysql数据

在这里插入图片描述
把她单独拿出来
在这里插入图片描述

提到魔术引号,我们可以想到宽字节给她注入

我们抓到的包是post,所以可以直接写汉字
在这里插入图片描述
但是发现写不进去,那我们可以用hex来写
把之前的a的值换成df,相当于一个字节,而一个汉字是二个字节,魔术引号一个字节+我们给的一个字节,那么就可以拼凑成一个汉字,那么我们就把魔术引号给闭合了
a的ascii码是61,单引号的ascii码是27
我们把61替换为df就好
在这里插入图片描述
然后放包,可以看到报错了,那么就肯定存在sql注入了。
在这里插入图片描述
题外话
我们新注册用户,回去数据库检查是否有这个用户,那么我们就可以去爆破用户。
在这里插入图片描述
宽字节注入后,我们来看下mysql记录的数据。
在这里插入图片描述
提取出来后
在这里插入图片描述
分析
在这里插入图片描述

我们这样使用报错注入,发现有效,接下来就实战,宽字节注入+报错注入
正常注册
在这里插入图片描述
在抓包这里改一下

在这里插入图片描述
在这里插入图片描述
我们发现报错了,那么宽字节注入成功。
在这里插入图片描述
在这里插入图片描述
然后我们去掉\xDF\,然后在本地测试,注意前面的数据不要重复哟。不然会错误。
在这里插入图片描述

爆出数据库名字 blue
在这里插入图片描述
放入cms,看看效果,但是还是报错了,但是我们这个语句之前测试的时候都没有问题,那么说明这个cms可能在某个地方做了拦截的,所以我们才不会看到显示。
cms做了防护,可能是会不会丢数据库的错误给我们看,而是丢语法错误给我们看,
更甚至,什么报错也不给,直接跳转。
在这里插入图片描述
既然报错注入+宽字节注入不行,我们就用另一种骚姿势。

插入的语句 一次能否插入多条数据。

可以插入多条数据,但是不能有单引号和双引号

在这里插入图片描述
成功执行

,1,1),(100,0x79696e677169616e,md5(12345),(select database()),1,1)#

在这里插入图片描述
然后我们来看数据库是否写入,可以看到成功写入!!!!
在这里插入图片描述
那我们现在就登录这个账号试试
在这里插入图片描述
成功注入,我们可以在邮箱这个地方看到数据库名称
在这里插入图片描述
然后我们在注册一个新的账号来得到新的mysql数据(密码)
在这里插入图片描述

执行成功!!!
在这里插入图片描述

我们来看下数据库
在这里插入图片描述
那我们现在就登录这个账号试试
在这里插入图片描述
成功注入,我们可以在邮箱这个地方看到数据库里的pwd字段,也就是密码字段

在这里插入图片描述
一看是个md5值拿去解密
在这里插入图片描述

万能密码

然后我们试试登录界面

在这里插入图片描述
mysql 监控
发现密码在md5 框里
在这里插入图片描述
那我们就加一个框框来把他闭合
在这里插入图片描述
结果还是错,可以发现汉字没有和魔术引号结合。
在这里插入图片描述
既然密码字段这么麻烦,我们就在账号字段尝试注入

在这里插入图片描述

结果账号字段还是错,但是不去效验密码字段了,那说明不能在账号字段注入的。我们只能在密码字段注入。

在这里插入图片描述
我们来重试。我们勤快一点,把汉字改成a,然后抓包修改。
在这里插入图片描述
抓包后,我们发现单引号自动变成了url编码
在这里插入图片描述
那我们就直接把a换成%df,就不用hex里去改了
在这里插入图片描述
放包,然后就成功登录了!!!!!!!!!!
在这里插入图片描述

总结

这盘文章也是我断断续续才写好,原谅我鸽了好久
说是代码审计,其次这个cms的话,并不需要什么代码功底
关键是掌握这个思路,然后去测试这个cms的每一个功能点
对!!!没错,是测试,这个cms的每一个功能点
看能不能找出来。找出来后顺便复习下以前的top 10漏洞。

复盘

1、重复安装网站漏洞,利用这个漏洞进行一句话木马注入,或则注入XSS

2、因为我们是白盒,可以看到源码,注册用户那里进行注入

3、 万能密码

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值