博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码审计基础
阅读量:5041 次
发布时间:2019-06-12

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

工欲善其事必先利其器

环境推荐安装phpstudy. 他集成了php各种版本.一键切换.还有非常便捷的数据库管理等功能.

 

代码审计工具推荐Seay源码审计系统

 RIPS汉化版:

关于这两款工具,.后续用到的时候我在仔细说. 

审计方法

  1. 通读全文法
  2. 敏感函数参数回溯法
  3. 定向功能分析法

通读全文法

顾名思义,就是把所有代码都读一遍.这种方法是最麻烦的方法同时也是最全面的审计方法,特别是针对大型程序.源码成千上万行,想一下是不是忍不住要慰问xxx? 但这种方法在某种场景下是必须运用的,因为你只有通读了全文,你猜能了解整个业务的逻辑,才能挖掘到更多更有价值的漏洞. 这种方法一遍是企业对自身产品的审计,当然,小型应用也未必不可.

敏感参数回溯法

敏感参数回溯法就是根据敏感函数,逆向追踪参数传递的过程,. 这个方法是最高效,也是最常用的方法. 一般来说,大多数的漏洞产生是因为函数的使用不当造成的.我们只要找到这样的一些使用不当的函数,就可以快速挖掘到我们想要的漏洞.在这方面.Seay源码审计系统有独特的优势,他可以利用正则匹配一些高危函数,关键函数以及敏感关键字帮助我们快速定位,然后我们就可以分析判断敏感函数的上下文,追踪参数源头.尝试控制可控的参数变量.

定向功能分析法

该方法主要根据程序的业务逻辑来审计.首先是用浏览器逐个进行访问浏览,先熟悉下大致的功能,然后根据相关功能和审计经验,大概推测可能存在哪些漏洞.

常见漏洞(包括但不限于)

  1. 程序初始安装
  2. 站点信息泄露
  3. 文件上传
  4. 文件管理
  5. 登录认证
  6. 数据库备份恢复
  7. 找回密码
  8. 验证码
  9. ....

常见的INI配置

配置文件

一般为php.ini 有些时候会使php+版本号.ini ,他是全局配置文件,不管文件名什么样,作用都一样,配置文件在php启动的时候被读取,php.ini的值可以使用php相关函数进行修改覆盖.

.user.ini  用户配置文件,可以存在网站的根目录或者子目录.

语法

配置文件的语法非常简单. 空白字符和以引号开始的行被简单忽略. 一个空白字符串可以用在等号后不写任何东西表示,或者用none关键字表示

例:  foo=      , foo=none  ,

配置文件是区分大小写的. foo=bar != FOO=BAR

配置文件中的表达式仅使用位运算符,逻辑非,圆括号,|位或,&位与,~位非,!逻辑非.

布尔标志用On表示打开,用Off表示关闭

安全模式

safe_mode = Off   默认值. (5.3.0废弃,5.4.0起移除) 安全模式关闭的情况下,是可以执行一些危险函数的. 比如 system(),关闭后把很多文件操作函数进行了权限控制,也不允许对某些关键文件操作 比如/etc/passwd.

上传文件及目录权限

file_uploads = on

upload_max_filesize= 8M  

这两个参数主要是配置上传文件和上传文件大小的. 

upload_tmp_dir = 

这个主要是配置上传后的临时目录,不配置的话按系统走.

php.ini

建议大家有空了多去了解下具体的配置项, 每一项代表什么, 有几个选项等. 可以查阅官方文档等很多途径

转载于:https://www.cnblogs.com/php09/p/10515082.html

你可能感兴趣的文章
强制IE浏览器或WebBrowser控件
查看>>
vs code 的背景颜色主题还有背景图片的自定义方法
查看>>
Oralce学习笔记(sql取一张表的数据插入另一张表)
查看>>
c#委托事件 自己理解
查看>>
Mac下PHPstorm的xdebug配置
查看>>
HDU-1009-FatMouse' Trade(贪心)
查看>>
铁皮石斛
查看>>
总结asp.net页面跳转
查看>>
adb shell input keyevent code详解
查看>>
Peter Shirley-Ray Tracing The Next Week
查看>>
LaTeX技巧391:TeXniccenter+sumatra前向和反向搜索配置技巧_LaTeX_Fun_新浪博客
查看>>
XMPP语音聊天解决方案 (待论证 正打算写)
查看>>
golang convert integer to float number
查看>>
数据结构C语言版--动态顺序表的基本功能实现(二)
查看>>
【CSS3】内联、内部、外部样式,样式优先级、层叠、继承
查看>>
数值函数ROUND(四舍五入),TRUNC(不四舍五入),MOD
查看>>
[毕业生的商业软件开发之路]开发第一个Windows应用程序
查看>>
AcWing 204. 表达整数的奇怪方式 (线性同余方程组)打卡
查看>>
web api 返回数据XML JSON
查看>>
Squid中文权威指南
查看>>