- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码审计基础-SHIELD1762.pdf
代码审计基础
今天分享一下我学习代码审计的一点经验 ,希望跟大家共同进步。
我们今天的主角是 世界上最好的语言,
没错 ,就是 PHP
PHP 由于使用广泛 ,入门简单 ,主要适用于 Web开发领域。
一般情况下 ,测试时黑盒的情况比较多。有时我们获取到源码后 ,如果有代
码审计基础就可以进行比较全面的测试 ,使渗透效率更高。
PHP静态代码审计分几个阶段 ,
2007-2009 正则表达式
2009-2012 借助词法分析 ,主要处理面向过程的代码部分
2012-2016 借助语法分析 ,抽象语法树 AST ,代码段 ,可以分析面向对象
代码
基本概念 :危险函数 ,用户输入
这里的漏洞定义可以这样来理解 :用户输入经过各种操作 ,最终进入到危险
函数 ,以危险的方式成功执行。
这里的用户输入是指 GPCSF、数据库、文件等可能输入的点 ,危险函数如
include ,system等 ,当用户输入进到函数里面 ,并且要是以危险的方式执行 ,
比如转义了 ,或者过滤了 ,这样就不能成功了。
大家了解到这个基本的概念之后 ,对后面的案例就会比较清晰。
然后我来给大家说一下学习方法 :
简单来说就是多分析 ,多思考。在这里不得不提一套比较好的学习漏洞原理
的教程——dvwa。对于初学者 ,可以以 dvwa 为案例 ,分析漏洞原理。掌握漏
洞原理之后 ,对渗透测试的理解也会更深刻。
它是类型比较多 ,左边列出的类型基本是常用类型。
今天主要是讲人工审计 ,知道原理之后 ,大家可以借助工具进行分析。
如果大家还记得前面的漏洞的定义的话 ,就可以知道 ,这里是有 2条路可以
走的。
可以正向 ,可以逆向。
正着走 ,就是跟踪用户可控的输入 ,比如看到一个 GET 参数 ,跟踪这个参
数最终是到哪一步了 ,是否进入到危险函数中 ,以危险的方式执行了。
那么逆着走呢 ?先找到危险函数 ,逆着看进入到这个函数的参数是否可控 ,
一路找到来源 ,最终判断输入点。
中间分析的时候 ,需要留意一些过滤处理。
不同的人分析方式不一样 ,我比较喜欢大致浏览一下程序的架构 ,是否使用
框架 ,MVC ,是否有通用过滤等 ,这些都是需要考虑的。要不然 ,当你满心欢
喜地发现 ,一个 GET 参数 ,没有经过过滤函数 ,直接进入到 mysql_query 函数 ,
为什么就没有注入呢。
你看了一遍又一遍 ,甚至开始怀疑人生。
分析过的人就知道。
闲话少说 ,言归正传。让我们先看一看原理。
拿到一份源码应该如何开始审计呢 ?新手刚拿到一份源码一定很头疼 ,不知
道该如何下手。首先你应该弄懂这套源码的结构 ,了解系统的源码怎么分布的 ,
找到其中的关键文件代码。
往往一些库文件都会放到 include这个文件夹里。
下面这些文件一定要特别注意的 :
函数集文件 :命名中包含 functions, common等关键字。
配置文件 :命名中包含 config关键字
安全过滤文件 :filter, safe ,check
index 文件程序的入口文件
XSS
我们先来分析一下最常见的XSS漏洞 :基本的XSS分为反射型和存储型 ,
挖掘 XSS漏洞的关键就在于寻找没有过滤且被输出的参数。
先上代码 :
可以看到 ,对着我们的漏洞定义来分析 ,
用户输入 :$_GET[ ‘name’]
危险函数 :echo
危险的执行 :用户输入没有经过过滤函数 ,同时在函数执行时也没有相应的
过滤和转义 ,直接输出到 html代码中造成 xss漏洞。
了解这个方式之后 ,就是找用户可控输入和危险函数了。
常用的输出函数有 :print, print_r, echo, printf, sprintf, die, var_dump,
var_export。我们寻找这些输出函数就可以来挖掘 XSS漏洞。
我们来看一个案例 ,大米 CMS 的存储型 XSS。漏洞点在留言区这里。先来
看下源码
我们发现 ip参数没有经过转义 ,直接进行了输出
然后看下 get_client_ip() 这个函数
函数的位置在
您可能关注的文档
- 人教版九年级物理知识点1745.pdf
- 人教版八年级上册-物理-第三章第二节熔化与凝固1746.ppt
- 人教版八年级物理3.1温度1748.ppt
- 人教版八年级物理上册第六单元质量与密度第一节《质量》1750.ppt
- 人教版物理八年级上第五章第一节透镜(29张)-(共29张PPT)1751.ppt
- 人教版物理复习模拟试卷1752.doc
- 人教版生物八年级下册7.2.5-生物的变异-课件1753.ppt
- 人教版道德与法治七年级上册第二单元《友谊的天空》全单元课件1754.ppt
- 人教版道德与法治让友谊之树常青公开课课件1755.ppt
- 人教版高中物理(选修3-1)第三章同步教学课件3.5-磁场对运动电荷的作用力-(共29张PPT)1756.pptx
- 2025年二级注册建筑师之法律法规经济与施工题库附完整答案(名师系列).docx
- 2025年二级注册建筑师之法律法规经济与施工题库附参考答案(典型题).docx
- 七年级语文下册【理解性默写】空白版+答案版.doc
- 2025年二级注册建筑师之法律法规经济与施工题库附参考答案【预热题】.docx
- 2025年二级注册建筑师之法律法规经济与施工题库附完整答案(全国通用).docx
- 《稳健投资课件:探索高收益低风险理财策略》.ppt
- 学位论文的写作要求与规范.ppt
- 2025年二级注册建筑师之法律法规经济与施工题库附参考答案【培优b卷】.docx
- 2025年二级注册建筑师之法律法规经济与施工题库附参考答案(综合卷).docx
- 2025年二级注册建筑师考试题库【培优b卷】.docx
最近下载
- 汽车电器安(改)装_教材试卷B卷有答案.pdf VIP
- 汽车电器安(改)装_教材试卷C卷.pdf VIP
- 汽车电器安(改)装_教材试卷A卷.pdf VIP
- 【汽车电器安(改)装实训】项目一 中控防盗系统安装_实训指导手册.pdf VIP
- 2025福建莆田市公安局北岸分局招聘警务辅助人员35人笔试备考试题及答案解析.docx VIP
- 【汽车电器安(改)装实训】项目五 辅助倒车系统的安装_实训指导手册.pdf VIP
- 物业起诉业主不交物业费官司的超完美答辩状之欧阳道创编.pdf
- 汽车发动机构造与维修实训报告.pptx
- 汽车发动机构造与维修实训指导书.doc
- 建筑工程复工安全生产方案.docx VIP
文档评论(0)