博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
N2-审计方法与步骤
阅读量:3889 次
发布时间:2019-05-23

本文共 833 字,大约阅读时间需要 2 分钟。

一、基础准备

1.获得源码

大部分PHP程序都是开源的、找到官网下载最新的源码包即可。

2.安装网站

在本地搭建网站,一边审计一边调试。实时跟踪各种动态变化。

 

二、把握大局

1.网站结构

浏览源码文件夹,了解该程序大致目录。

2.入口文件

index.php、admin.php文件一般是整个程序的入口,详细读一下index文件可以知道程序的架构、运行流畅、包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑

3.配置文件

一般类似config.php等文件,保存一些数据库相关信息、程序的一些信息。先看看数据库编码,若是gbk则可能存在宽字节注入。若变量的值用双引号、则可能存在双引号解析代码执行的问题。

4.过滤功能

通过详读公共函数文件和安全过滤文件等文件,清晰掌握用户输入的数据,哪些被过滤,哪些无过滤,在哪里被过滤了,如何过滤的,能否绕过过滤的数据。过滤的方式是替换还是正则?有无GPC?有没有使用addslasher()处理?

 

 
18417988-eeae27b082912ba9.png
 

 

三、审计方法

1.通读全文法

        最麻烦但最全面的审计方法,特别针对大型程序,源码通常成千上万行,审计起来会非常麻烦。但该方法也是一种必要的方法。了解整个应用的业务逻辑才能挖掘到更多更有价值的漏洞。(一般是企业对自身产品的审计)

2.敏感函数参数回溯法(shell_exec)

        敏感参数函数回溯法:最高效,最常用的审计方法。大部分漏洞的产生是因为函数使用不当导致的。因此我们只要找到这样的一些使用不当的函数,就可以快速挖掘漏洞。

        Seay源代码审计系统,利用正则匹配一些高危函数、关键函数以及敏感关键字,然后,我们就可以分析判断敏感函数的上下文,追踪参数源头。尝试控制可控的参数变量。

3.定向功能分析法(安装问题)

该方法主要是根据程序的业务逻辑来说的审计。首先用浏览器逐个访问浏览,查看该套程序的功能,根据相关功能,大致推测可能存在哪些漏洞。

        

 
18417988-ec53313b5440775e.png
 

总结审计过程:把握大局→定向功能分析→敏感函数参数回溯

转载地址:http://znthn.baihongyu.com/

你可能感兴趣的文章
一道题讲懂SQL盲注 / [第一章 web入门]SQL注入-2
查看>>
ubuntu server搭建python+selenium
查看>>
easy_sql
查看>>
班委考评怎么玩?
查看>>
震惊!PC端QQ也能防撤回?
查看>>
cmake入门那些坑
查看>>
git常用
查看>>
基础算法第4天_skiplist_跳表介绍
查看>>
重学C++之路_#1_概述_总体介绍
查看>>
重学C++之路_#1_基础用法
查看>>
重学C++之路_#1_异常处理
查看>>
C/C++指针回顾
查看>>
算法之排序--插入排序O(n**2)
查看>>
算法之排序--希尔排序
查看>>
转:C++ NULL二义性问题,C++11引入nullptr原因
查看>>
C神奇国度--Branchless code--Bit Twiddling Hacks
查看>>
linux那些锁、无锁操作
查看>>
javascript深入浅出图解作用域链和闭包
查看>>
this指向以及apply,call,bind三者的区别
查看>>
javascript深入理解-从作用域链理解闭包
查看>>