实验项目 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. C++拾趣——使用多态减少泛型带来的代码膨胀
  2. LeetCode(1.俩数之和)JAVA
  3. bootstrap fileinput上传返回400,404,500 等错误替换
  4. python私人兼职_python能做什么副业#下班后有哪些兼职副业
  5. MQ 正在变成臭水沟
  6. 实例52:python
  7. linux添加三权,基于SELinux的三权分离技术的研究
  8. 进阶~Qt程序启动画面
  9. php 阶乘函数,什么是PHP中的RECURSIVE函数?
  10. Windows Bash on Ubuntu
  11. 10.27T1 堆贪心
  12. mysql5.7 keepalived_基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构
  13. 新代数控车床操作系统模拟器_新代数控系统模拟器 下载
  14. MySQL经典书籍推荐
  15. 信杂比公式_信噪比公式
  16. SQL 注入防御方法总结
  17. 双目相机选择——镜头与相机的参数介绍及选择
  18. 程序员的996简史!我们是怎么一步步陷入996工作制的
  19. 深度学习入门:一句话告诉你什么是神经网络CN,RNN,DNN)
  20. python统计套利_基于python的统计套利实战(四)之策略实现

热门文章

  1. java 中常用的类(笔记 十六)
  2. 快速 2:1 图像缩小(按比例缩小)
  3. 模块化开发,组件化开发定义及其区别
  4. 智能语音唤醒词,自学习意义与步骤
  5. QQ揭秘:如何实现托盘闪动消息提醒?【低调赠送:QQ高仿版GG 4.1 最新源码】
  6. 2021-09-03 eventlog对应各标识表示的含义
  7. HTB靶场系列 linux靶机 Beep靶机
  8. 前端框架OnsenUI学习之ons-navigator介绍
  9. SQLite清空表并将自增列归零
  10. Nested Named Entity Recognition from Medical Texts: An Adaptive Shared Network Architecture with Att