实验项目 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。

PHP源代码漏洞分析相关推荐

  1. 源代码漏洞分析数据处理

    介绍 近年来安全漏洞数量逐年攀升,源代码静态分析被广泛应用于软件中的漏洞检测,但纯粹的静态数据分析耗时且费力,而利用深度学习的方法自动检测出源代码中的漏洞的方法则逐渐凸显优势.使用的源代码漏洞数据均为 ...

  2. cve-2019-1821 思科 Cisco Prime 企业局域网管理器 远程代码执行 漏洞分析

    前言 不是所有目录遍历漏洞危害都相同,取决于遍历的用法以及用户交互程度.正如你将看到,本文的这个漏洞类在代码中非常难发现,但可以造成巨大的影响. 这个漏洞存在于思科Prime Infrastructu ...

  3. cve-2019-10758 mongo-express rce 漏洞分析

    下面是对漏洞的描述: mongo-express before 0.54.0 is vulnerable to Remote Code Execution via endpoints that use ...

  4. php excel中解析显示html代码_骑士cms从任意文件包含到远程代码执行漏洞分析

    前言 前些日子,骑士cms 官方公布了一个系统紧急风险漏洞升级通知:骑士cms 6.0.48存在一处任意文件包含漏洞,利用该漏洞对payload文件进行包含,即可造成远程代码执行漏洞.这篇文章将从漏洞 ...

  5. 安卓拒绝服务漏洞分析及漏洞检测

    "超级拒绝服务漏洞"是一个安卓通用型拒绝服务漏洞,恶意***者可能利用此漏洞让手机中的任意应用崩溃无法正常工作,几乎影响目前市面上所有的安卓APP应用. 漏洞分析: 0xr0ot和 ...

  6. 宿主机进程挂载到容器内_迄今为止最严重的容器逃逸漏洞:Docker cp命令漏洞分析(CVE201914271)...

    摘要 在过去几年中,我们在各种容器平台(包括Docker.Podman和Kubernetes)中发现了copy(cp)命令中存在多个漏洞.其中,迄今为止最严重的的一个漏洞是在今年7月被发现和披露的.然 ...

  7. Weblogic12c T3 协议安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】

    给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 ## 前言 WebLogic是美国Oracle公司出品的一个application server ...

  8. 漏洞挖掘、漏洞分析和漏洞利用

    漏洞挖掘.漏洞分析和漏洞利用     利用漏洞进行***可以大致分为漏洞挖掘.漏洞分析.漏洞利用三个步骤.这三部分所用的技术有相同之处,比如都需要精通系统底层知识.逆向工程等:同时也有一定的差异. 1 ...

  9. shrio反序列漏洞修复_Apache Shiro Java 反序列化漏洞分析

    Author: rungobier(知道创宇404安全实验室) Date: 2016-08-03 0x00 概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它 ...

最新文章

  1. R绘制水平箱图(horizontal boxplot)
  2. Canvas实现文字粒子化,并且绕轴旋转(完善)
  3. 十佳运动员有奖评选系统_2019年度国际足坛十佳运动员,利物浦三星在列,第十名属私心...
  4. 5G与WiFi 6之争,对物联网意味着什么
  5. vue 找回密码_vue实现个人信息查看和密码修改功能
  6. python整理-day4
  7. 小米11新旗舰通过3C认证:支持最高67.1W快充
  8. Java 中的异常处理
  9. java web开发中会遇到的异步执行方案
  10. 【排序算法】插入、选择、堆排、快排、归并、计数
  11. ubuntu学习日记--Lesson5:系统目录详解
  12. T00LS专访白帽子:carry_your和带头大哥【T00ls人物专访第八期】
  13. 光猫怎么设置wifi 光猫怎么设置wifi密码
  14. 利用scrapy工具,实现一键获取多个项目数据的功能
  15. 19个必须知道的转录组知识点
  16. 【推荐】javaweb JAVA JSP家政服务管理系统服务网站jsp服务信息管理jsp保姆月嫂招聘系统案例设计与实现源码
  17. 个人收款码和商家收款码有哪些区别
  18. RC522读卡、修改UID、复制门禁卡(arduino板子)
  19. Google PR值的详细分析及计算公式
  20. 印度邦政府计划采用区块链技术减轻政府欺诈行为

热门文章

  1. SQL server查询既学过01课程又学过02 课程的学号和姓名
  2. Mysql中查询语句的执行顺序
  3. Atcoder 4142 Xor Sum (双指针)
  4. 申请苹果企业开发者账号过程之记录
  5. 福利 | 这里,学习资源,了解一下?
  6. Ubuntu配置tftp服务端
  7. 如何计算出文本数据的相似矩阵?
  8. xp系统开机自检很久_xp系统每次开机都自检开不了机怎么解决
  9. C#MVC视频上传并实现页面播放
  10. 发动机逆模型 逆发动机模型 根据发动机模型MAP图数据,得到发动机逆模型