代码审计 | 如何获取CVE漏洞编号

 更多大厂面试经验的视频分享看主页和专栏 

目录:

    环境搭建

 工具扫描

 漏洞分析

  sql 注入

  文件上传

 总结

 前言:最近在网上找了套源码,想着练一下审计,也不能说有多深入,但是学习一下审计流程,源码下载在文章末尾

环境搭建

直接用 phpstudy 搭建就行了,选择一下路径和端口,然后新建一个数据库,把目录 Database 下的 sql 文件导进去,再简单配置一下 /rental/db_connect.php 文件以连接数据库

图片

访问端口页面如下

图片

在 Username and Password.txt 文件给出了默认账号密码,登录后可以简单看看后台功能。

图片

工具扫描

既然有源码肯定不会去挨个功能点的进行测试,掏出 seay 自动审计一手

图片

看到显示漏洞挺多的,具体存不存在还需要跟进看看,因为有些可控参数是加了过滤或转义的。再用昆仑镜扫描一下

图片

也基本上是 sql 注入漏洞,至于变量覆盖一般不太好利用,不是关键时刻不用看。

漏洞分析

sql 注入

上面显示的 sql 注入漏洞最多,就先分析这个,直接跟进到 /rental/admin_class.php 文件。在其登录函数 login() 发现 sql 语句。

图片

$username 没有任何过滤,直接就拼接进去了,属于是甩脸上了。由于没有回显查询结果,直接时间盲注就行了。

稍微更改一下代码,测试一下,构造

1' or if((length(database())>1),sleep(5),1)#

看到我们的参数已经拼接进了 sql 语句,

图片

回到 bp 发包也能看到盲注成功。

图片

类似的 sql 注入漏洞还有很多,就在 /rental/admin_class.php 文件中,一抓一大把,如:

图片

图片

都是没有对参数进行过滤处理造成的 sql 注入。但是这些函数对应的都是后台的功能点了,在实际应用中没太大用处,还是登录处的 sql 注入危害最大。

文件上传

继续审计,发现存在存在文件上传点,有三处都有下面的相同代码逻辑。

图片

会先上传生成个临时文件,然后利用函数 move_uploaded_file 来把文件移到目录 assets/uploads/,看到对文件后缀和内容都没有过滤,然后文件名中的时间戳可以根据时间范围爆破出来的。

但是在后台功能点找了半天也没发现文件上传的点,应该是函数默认的参数里根本就没有它,那么直接自己构造,这里就拿 signup() 函数来测试

图片

构造好后发包,发现报错

图片

显示无法移动文件,调试看看原因

图片

看到临时文件在 C:\Windows\ 目录下,用记事本查看内容显示报错:“文件包含病毒或潜在的垃圾文件”,到这里其实我大概已经知道原因了,又是系统自带的安全保护在作怪,将其关掉。然后再次上传,成功上传

图片

访问木马即可 getshell。

图片

本来以为凭借 sql 注入 + 文件上传就能直接拿下该系统 shell,但是离谱的来了,发现该系统根本就没有鉴权,不用登录直接构造 poc 就可以实现上传。

总结

只是一次简单的审计经历,站点也是漏洞百出,甚至鉴权都没有。不过拿来熟悉熟悉审计流程还是不错的,最后去 cve 平台上搜索发现还有没交的洞,这洞都贴脸上了,于是顺手获取了几个 cve。

图片

图片

源码地址:https://www.sourcecodester.com/download-code?nid=17375&title=Best+house+rental+management+system+project+in+php+

最后祝大家都能获得自己的 cve

 更多大厂面试经验的视频分享看主页和专栏

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值