Web安全漏洞及代码审计(第2版):基于DVWA的漏洞分析与代码审计PPT教学课件.pptxVIP

  • 0
  • 0
  • 约1.51万字
  • 约 84页
  • 2026-01-22 发布于浙江
  • 举报

Web安全漏洞及代码审计(第2版):基于DVWA的漏洞分析与代码审计PPT教学课件.pptx

项目3

基于DVWA的漏洞分析与代码审计

Web安全漏洞及代码审计(第2版)(微课版);

项目知识准备

寻找漏洞签名

漏洞签名:

是指经常伴随漏洞出现的特征代码,简单来说,就是经常伴随漏洞出现的函数,如SQL注入的

mysql_query()函数及命令注入的shell_exec()函数等。这时可以直接在源代码中全文搜索危险函数,快速定位可能出现问题的位置,分析危险函数的上下文,判断输入的参数是否可控,并跟踪参数的传递流程。也可以根据一些特征去匹配关键字。

例如:

在SQL语句中使用SELECT查询语句等。虽然这种方式的审计效率较高,可以快速定位漏洞,但是由于对程序的了解不是很深入,因此该方式无法确定一些逻辑层面的漏洞。;

项目知识准备

功能点定向审计

当有了一定的代码审计经验后,通常可以掌握常见的漏洞触发场景。

因此,也可以通过这种方式进行代码审计,并在程序部署成功后查看系统中存在哪些功能模块,了解对应功能的程序文件是什么样的。当了解了程序的大体功能后,就可以针对功能点进行定向审计。

例如,在上传头像时:

若没有校验上传文件的格式类型,则可能导致文件上传漏洞;

在加载图片或分享链接时会发送网络请求,若没有校验内网地址和限制规定协议,则可能导致SSRF漏洞;在文件操作界面中,若不同账户的权限不同,则可能因权限校验不严格而导致越权漏洞。

因此,可以优先寻找经常出现问题的功能点来进行代码审计,以快速提高审计效率。;

项目知识准备

通读全文

使用通读全文的方式可以快速了解整个程序的业务逻辑,使审计更加全面。在人工审计代码时,通常需要收集系统的设计文档、系统开发说明书等技术资料,以便更好地了解系统的业务功能。首先,需要了解程序代码的目录结构,包括主目录文件、功能模块文件、静态资源目录文件及日志文件等,而index.php、

admin.php文件通常是整个程序的入口,通过读取index.php文件可以知道程序的架构、运行流程、包含的配置文件、包含的过滤文件及包含的安全过滤文件等,从而了解程序的业务逻辑。在配置文件(如

config.php)中,会保存数据库和程序配置的相关信息,如果数据库采用GBK编码格式,则可能存在宽字节注入问题,如果变量的值使用双引号,则可能存在双引号二次解析引起的代码执行等问题。在公共函数文件和安全过滤文件中,可能会对用户输入的参数进行转义,这关系到漏洞点能否被利用。可以通过读取过滤文件,清晰地掌握用户输入的数据中哪些数据被过滤了,哪些数据没有被过滤。如果数据被过滤了,那么可以了解数据是在什么位置被过滤的,过滤的机制是什么样的,是通过替换的方式还是正则的方式过滤的,是否开启了魔术引号或使用了过滤函数,以及能否绕过过滤机制。这样一来,在使用通读全文的方式进行代码审计时,可以更有方向地通读全文的代码,不仅可以梳理一遍程序的架构、流程,还可以审计出更多有质量的漏洞。;

任务1功能点定向审计;

能够进行功能点的定向审计

了解OWASP和国际漏洞库(CVE)中安全漏洞的分类和发展态势。;

任务1功能点定向审计

任务实施

1.寻找漏洞签名

在审计结束后,会得到一些页面中可能存在的漏洞列表,如图3-2所示。选择位于content.php页面的那一条信息,双击第15行中“漏洞详细”列的相应内容,即可直接定位到这段代码中,如图3-3所示。;

任务1功能点定向审计

任务实施

1.寻找漏洞签名

定位代码中的SQL语句使用的是拼接的方式,也就是说,SQL语句中的$id是可控的。通过分析上下文可知,$id是通过转义后的参数cid赋值的,传递过来的参数cid会经过addslashes()函数转义,而addslashes()函数的作用是在单引号()、双引号()、反斜线(\)与NULL字符之前加上反斜线。

可以通过报错语句来读取数据库信息,在请求中输入如下代码:

/indexphp?r-contentcid-updatexml(1,concat(Ox7e,(selectconcat(user,Ox7e,password)frommanage),0

→C①不安全|30/index.php?r=contentcid=updatexml(1,concat(Ox7e,(select%20concat(user,Ox7e,password)%20from..

修改错误:XPATHsyntaxerror:~admin~21232f297a57a5a743894a0e4;

02任务1功能点定向审计

任务实施

2.功能点定向审计

1)程序安装:在进行程序安装时,如果未严格过滤配置文件,则攻击者

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档