网络渗透测试实训周笔记3.0

1.代码审计概念

  • 代码审计,是对应用程序源代码进行系统性检查的工作。目的是为了找到并且修复应用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必要的风险。
  • 代码审计不是简单的检查代码,审计代码的原因是确保代码能安全的做到对信息和资源进行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。

代码审计入门基础:html/js基础语法、PHP基础语法 ,面向对象思想,PHP小项目开发(Blog、注册登录、表单、文件上传、留言板等),Web漏洞挖掘及利用,Web安全工具基本使用(burpsuite、sqlmap等),代码审计工具(seay审计系、zendstudio+xdebug等)                                                 

代码审计两种基本方式

(1) 通读全文源码:通读全文发作为一种最麻烦的方法也是最全面的审计方法。特别是针对大型程序,源码成千上万行。当然了解整个Web应用的业务逻辑,才能挖掘到更多更有价值的漏洞。

(2) 功能点审计:根据漏洞对应发生函数进行功能行审计,常会用到逆向溯源数据流方法进行审计。

代码审计两种基本方法: 

(1)正向追踪数据流:跟踪用户输入参数 -> 来到代码逻辑 -> 最后审计代码逻辑缺陷 -> 尝试构造payload

(2) 逆向溯源数据流:字符串搜索指定操作函数 -> 跟踪函数可控参数 -> 审计代码逻辑缺陷 -> 尝试构造payload

2.代码审计环境

PHP源码部署环境:Phpstudy

集成开发环境:Zend Studio/Phpstorm

数据库管理工具:Navicat for MySQL

MySQL实时监控工具:MySQLMonitor

文本编辑工具:Sublime_Text3

代码审计辅助工具:Seay源代码审计系统、Rips

代码审计辅助安全工具:渗透版火狐、BurpSuite、Sqlmap

3.危险函数及关键字

SQL注入 select 、update、 insert into 、delete

(注:此处非函数,主要找常用的SQL语句)

本地文件包含

  • include() 向上包含,向下包含,如果包含出错继续向下执行
  • include_once() 同上,只进行包含一次
  • require() 向上包含,向下包含,如果包含出错不下向下执行
  • require_once() 同上,只进行包含一次

命令执行: system() 、exec() 、passthru()、 shell_exec()

XSS跨站脚本攻击: print、 print_r 、echo、 printf、die 、var_dump、 var_export

文件上传漏洞: move_uploaded_file()

文件下载: fopen() readfile() file_get_contents()

任意文件删除: unlink()

反序列化漏洞: unserialize()

4.代码审计工具

  1. RIPS(1)RIPS 是一个用 PHP 编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘 PHP 源代码潜在的安全漏洞。渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码。由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认。RIPS 能够检测 XSS, SQL 注入, 文件泄露, Header Injection 漏洞等。

RIPS官网:http://rips-scanner.sourceforge.net/ 下载完之后将该压缩包解压到本地网站的根目录下,然后在浏览器 localhost/Rips(你解压的文件名字)/就可以进去了。如下图:

(2)

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值