PHP源代码漏洞分析

实验项目PHP源代码漏洞分析实验
综合性实验2020年10月31日

一、实验综述

1.实验目的及要求

(1)掌握源代码分析的基本原理
(2)掌握RIPS源代码分析工具的使用
(3)结合源代码分析原理对DVWA平台的代码进行分析

2.实验仪器、设备或软件
Vmware station
PHPstudy
DVWA
Windows7操作系统
3.实验原理

(1)软件漏洞:
软件漏洞分析技术主要分为:软件架构安全分析技术、源代码漏洞分析技术、二进制漏洞分析技术和运行系统漏洞分析技术四大类。
(2)源代码漏洞分析原理:
源代码漏洞分析主要是对高级语言编写的程序进行分析以发现漏洞。源代码作为软件的最初原型,其中的安全缺陷可能直接导致软件漏洞分产生,因此源代码漏洞分析显得尤为重要。目前源代码漏洞分析主要采用静态分析的方法,由于该方法不受程序的输入和运行环境等因素的影响,所以可能发现动态分析难以发现的软件漏洞。源代码漏洞分析一般包含源代码的模型提取,对历史漏洞、程序代码进行特征提取,静态的漏洞分析和结果分析等四个步骤,通过这四个步骤完成对源代码的漏洞分析。

二、实验过程(步骤过程、数据记录)

1.步骤

(1)查看虚拟机windows7的IP地址,使用DOS命令:ipconfig

在这里插入图片描述
(2)在虚拟机中开启phpstudy中的apache和mysql

在这里插入图片描述

(3)在主机上访问DVWA客户端:http://192.168.45.128/DVWA-master/login.php

在这里插入图片描述
(4)将rips文件夹放入虚拟机以下的路径中: C:\phpstudy_pro\WWW\

在这里插入图片描述
(5)主机访问rips: http://192.168.45.128/rips

在这里插入图片描述

(6)Rips的相关配置:
将文件路径(path/file)设置为虚拟机中DVWA-master的存储路径
代码风格:(Code style)采用默认的ayti
漏洞类型(Vuln type)选择SQL Injection
默认勾选:subtirs,表示对所选文件路径下的子目录的相关文件也要进行分析。

在这里插入图片描述
(7)点击scan按钮,出现如下界面:

在这里插入图片描述
分析:提示有359个文件,是否继续进行分析

(8)点击continue按钮,显示sql注入漏洞结果:

在这里插入图片描述
分析:总共用时4914秒;SQL注入漏洞数量5个;扫描文件359个;

(9)以SQL注入漏洞的low.php为例进行漏洞分析,进一步分析其他功能

在这里插入图片描述

(10)左侧有review code表示可以将源代码显示出来。

在这里插入图片描述
对比源文件与现实出来的文件,可以找出两者之间的对应关系。
自动分析出了哪些地方有SQL注入漏洞。可以和数据流分析等进行对应。

在这里插入图片描述
在源代码中第3行、第8行、第9行会现实红色,表示此处有SQL注入漏洞。
在分析结果的显示中,我们也可以看到对应的是第3行、第8行和第9行。

9: mysqli_query $result = mysqli_query($GLOBALS['___mysqli_ston'], $query) or die ('<pre>' . (mysqli_error($GLOBALS['___mysqli_ston']) : ($___mysqli_res : false)) . '</pre>'); 
8: $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
5: $id = $_REQUEST['id']; 
requires:
3: if(isset($_REQUEST['Submit']))

(11)左侧有 get help,查看sql注入的相关介绍

在这里插入图片描述
(12)左侧有generate exploit

在这里插入图片描述

生成脚本如下:

在这里插入图片描述

2.数据记录

在这里插入图片描述

三、结果讨论与分析

1.实验结果

通过此次实验,我掌握源代码分析的基本原理,结合源代码分析原理对DVWA平台的SQL注入漏洞进行分析,并成功找到了5个漏洞。

2.分析讨论

软件漏洞分析技术多种多样,需要针对软件的来源,漏洞的类型,分析人员的擅长等因素进行选择。在汇报的实验中,由于都是针对某个漏洞类型进行验证,没有涉及到软件架构和系统等概念,故实验中主要利用二进制漏洞分析技术中的静态分析、动态分析和动静结合的分析技术。针对动态分析技术,所使用的软件有:OllyDbg和Windbg,选择Windbg有个特点,即其对于Windows自带原生的软件更加适用;针对静态分析技术,所使用的软件为IDA Pro。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zkaisen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值