Web安全漏洞及代码审计-3 DVWA的漏洞分析与代码审计_第1页
Web安全漏洞及代码审计-3 DVWA的漏洞分析与代码审计_第2页
Web安全漏洞及代码审计-3 DVWA的漏洞分析与代码审计_第3页
Web安全漏洞及代码审计-3 DVWA的漏洞分析与代码审计_第4页
Web安全漏洞及代码审计-3 DVWA的漏洞分析与代码审计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DVWA的漏洞分析与代码审计项目三Web安全漏洞及代码审计(第2版)目录01项目知识准备03项目复盘02学习代码审计技巧CONTENTS项目知识准备学习寻找漏洞签名、功能点定向审计、通读全文01.项目知识准备漏洞签名指常伴随漏洞出现的特征代码,例如SQL注入相关的危险函数或特定关键字。可直接在代码中搜索这些危险函数或特征,快速定位潜在漏洞点,通过分析参数是否可控及传递流程来判定风险。这种方法效率高,但难以发现逻辑层面的漏洞。一、寻找漏洞签名通过整体阅读代码了解业务逻辑,使审计更全面。首先分析目录结构,入口文件(如index.php)可揭示程序架构、包含的配置及过滤文件。配置文件中可能隐藏安全隐患,如GBK编码引发宽字节注入。公共函数与过滤文件涉及输入处理,需明确过滤机制、是否可绕过。通读方式有助于梳理流程,发现更深层的漏洞。三、通读全文基于常见漏洞场景的经验,可针对系统功能模块进行定向审计。例如文件上传未校验类型可能导致上传漏洞,网络请求未限制协议或内网地址可能引发SSRF,权限校验不严可能导致越权。通过优先审查易出问题的功能点,可有效提高审计效率。二、功能点定向审计学习代码审计技巧02.学习寻找漏洞签名、功能点定向审计、通读全文寻找漏洞签名这里选择使用Seay源代码审计系统来演示如何寻找漏洞签名。单击菜单栏中的“新建项目”按钮,选择需要审计的项目后单击菜单栏中的“自动审计”按钮,进入“自动审计”界面,之后单击“开始”按钮,即可开始审计。寻找漏洞签名在审计结束后,会得到一些可能存在的漏洞的文件的列表。寻找漏洞签名选择content.php页面的那一条信息,双击第15行即可直接定位到这段代码中。定位代码中的SQL语句使用的是拼接的方式,也就是说,SQL语句中的$id是可控的。通过分析上下文可知,$id是通过转义后的参数cid赋值的,传递过来的参数cid会经过addslashes()函数转义,而addslashes()函数的作用是在单引号(')、双引号(")、反斜线(\)与NULL字符之前加上反斜线。寻找漏洞签名我们可以通过报错语句来读取数据库信息,在请求中输入如下代码:

/index.php?r=content&cid=updatexml(1,concat(0x7e,(selectconcat(user,0x7e,password)frommanage)),0)功能点定向审计:程序安装在进行程序安装时,如果未严格过滤配置文件,则攻击者可以在安装过程中向配置文件中插入恶意代码以执行任意命令,甚至可以直接获取Webshell。功能点定向审计:文件上传在网站运营的过程中,不可避免地要更新网站的某些页面或内容,因此有必要在网站中使用文件上传功能。如果网站对上传的文件没有限制,或者上传的文件绕过了限制,则攻击者可以使用此功能将可执行的脚本文件上传到服务器中,从而导致服务器崩溃。导致文件上传漏洞的原因有很多,主要原因如下。服务器配置不当。开源编辑器上传漏洞。本地文件上传限制被绕过。过滤不严格或被绕过。文件解析漏洞导致文件执行。文件路径截断。功能点定向审计:文件操作文件操作函数是常见的任意文件读取漏洞。在进行文件操作时,除任意文件读取漏洞外,若程序开发人员先将重复的代码单独写到一个文件中,然后在需要使用该文件中的代码时,直接使用包含函数包含该文件并调用,则很可能存在文件包含漏洞。功能点定向审计:登录验证、找回密码登录验证在进行登录验证时,经常会出现的漏洞包括Cookie身份验证漏洞、SessionID固定漏洞、注入漏洞(万能密码)、越权漏洞和逻辑漏洞。找回密码在找回密码的过程中,虽然看起来没有文件包含这种可以危害到服务器安全的漏洞,但是如果攻击者可以重置管理员的密码,则可以间接控制业务权限甚至拿到服务器权限。通读全文这里使用熊海CMS1.0进行演示,此系统功能比较简单,也比较容易理解。首先看一下目录结构。admin:存放后台相关文件。css:存放静态资源文件。files:存放相关功能函数文件。images:存放图片文件。inc:存放配置文件。install:存放安装文件。seacmseditor:第三方编辑器。template:存放模板文件。upload:文件上传目录。index.php:入口文件。主要目录及文件说明如下。通读全文从index.php文件入手,其代码如下:通过上述代码可知,函数在接收到参数r之后,程序会跳转到接收到参数r的相应页面。如果参数

r

为空,则会载入files/index.php页面,否则会跳转到参数r相应的页面。由此可知,当

r=list时,会跳转到list.php页面,结果如图。通读全文在inc目录中,有一些配置数据库的文件,其中checklogin.php文件中的代码如下:这个配置文件是用于验证后台登录信息的文件,而后台是否登录是通过获取Cookie中的参数user进行判断的。如果参数user为空,则会跳转到登录界面。几乎所有后台都是通过这种Cookie来进行认证的,因此,只要我们在Cookie中自行加入参数user的值,就可以成功绕过后台权限。以/admin/files/wzlist.php文件为例。项目复盘根据学习到的内容进行练习03.项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论