建设银行手机银行下载官方网站,万全孔家庄做网站,官网排名优化,手机页面目录 演示案例:简易SQL注入代码段分析挖掘思路QQ业务图标点亮系统挖掘-数据库监控追踪74CMS人才招聘系统挖掘-2次注入应用功能#xff08;自带转义)苹果CMS影视建站系统挖掘-数据库监控追踪#xff08;自带过滤#xff09; 技巧分析:总结: demo段指的是代码段#xff0c;先… 目录 演示案例:简易SQL注入代码段分析挖掘思路QQ业务图标点亮系统挖掘-数据库监控追踪74CMS人才招聘系统挖掘-2次注入应用功能自带转义)苹果CMS影视建站系统挖掘-数据库监控追踪自带过滤 技巧分析:总结: demo段指的是代码段先简要的分析一下漏洞的产生原理 完整源码完整的一套程序 框架源码指的是框架上面的问题有框架和没框架的两个源码结构是完全不同的
每个漏洞挖掘的方法有少许的差异主要是由于漏洞的原理和产生决定
程序有什么漏洞我们就挖什么漏洞针对性的找漏洞找上传、找注入
我们手里有很多源码一个一个源码分析是很麻烦的我们可以借助工具帮我们自动扫描探针我们推荐使用Fortify、Seay系统 它会自动对源码进行分析然后生成简要的报告这些是它发现可能存在的安全问题这个工具支持各种语言 选择一个源码对文件进行编译然后给出一个相应的测试报告 我们一般挖的话思路就是不可能直接拿到源代码就上去看了一个源代码拿到手上我们要先去分析所以我们先去用工具去批量测试一下爆出一些可能存在的安全问题在它的基础上再去看这样子能节省一些时间
#代码审计教学计划: 审计项目漏洞Demo-审计思路-完整源码框架-验证并利用漏洞 看漏洞产生的报告、代码段分析一下关于这个漏洞我们如何挖掘它会好一点然后再用完整的代码、框架、源码段在进行完整体系验证和利用这个漏洞的挖掘思路
#代码审计教学内容 PHPJAVA网站应用引入框架类开发源码相关审计工具及插件使用
#代码审计必备知识点 环境安装搭建使用相关工具插件安装使用掌握前期各种漏洞原理及利用 在PHP里面会涉及到断点调式就是分析代码的时候要看一下当前页面和代码在那个地方执行下一步在干嘛干嘛这些东西全部需要配置
#代码审计开始前准备 审计目标的程序名版本当前环境 (系统中间件脚本语言等信息)各种插件等 程序的语言版本、语言的类型和你的环境可能造成有些漏洞在利用或验证的时候有些问题 SQL注入里面有魔术引号这个可以在PHP配置里面开启和关闭得到假设这个网站自身没有启用魔术引号过滤的那我自己搭的环境有这个过滤即使它有漏洞你在测试验证的时候可能会出现误报但是这个误报并不是代码之间的过滤而是环境自己的配置导致的过滤所以我们需要知道目标网站的信息
#代码审计挖掘漏洞根本 可控变量及特定函数不存在过滤或过滤不严谨存在绕过导致的安全漏洞 漏洞在利用的时候都需要可控变量函数的作用将决定是什么漏洞如果是输出性的函数输出代码用的、输出变量用的将会导致跨站漏洞因为跨站漏洞原理和输出性函数是有关系的
可控变量有了之后还要看它有没有过滤过滤的比较安全那就是没有漏洞如果说没有过滤、过滤不严谨也会导致安全漏洞所以基本上我们在做漏洞分析的时候大部分都是看它的过滤
过滤不严谨是它没有想到一些多种攻击方式的一些关键字符和一些恶意字符也可能是函数在使用的时候函数使用的不好像CTF比赛经常考到的两个等于号三个等于号就是判断这个值是否相等的时候是有区别的所以验证判断的时候存在饶过
演示案例:
简易SQL注入代码段分析挖掘思路
分析一下sqlilabs靶场的sql注入代码 要包含数据库配置文件才能对数据库进行操作我们要进行数据库操作首先要建立连接就要包含数据库配置文件后面就是操作数据库的 mysql query()数据库执行函数没有这个函数就没有sql注入漏洞因为注入漏洞要对数据库进行操作 这段代码同时存在xss和SQL注入漏洞可控变量和特定函数导致的安全问题 挖掘思路在特定关键字搜索特定关键字尝试寻找特定漏洞因为漏洞产生必定会有关键字因为关键字没有这个漏洞就不存在 如搜索echo print 尝试挖掘的就是xss漏洞搜索$_GET $_POST 尝试挖掘的就是安全漏洞搜索数据库的操作性函数就能尝试挖掘它的注入 如特定关键字 select insert update sql执行语句 sql注入漏洞
定点挖掘功能点: 如:我要挖掘文件上传通过网站的浏览人工肉眼的判断找到特定的地方会员中心存在文件上传的操作地址抓包分析找到源码中的特定文件代码段进行文件上传代码分析挖掘
拓展:视漏洞而定 sql注入 数据库监控-监控到当前页面和数据库的交互过程 (SQL执行语句) 发现sql语句里面那些变量可以伪造那些执行语句里面的值可以进行修改和测试然后你在找到指定代码段看一下修改测试的时候这个代码段有没有进行过滤发现有没有注入
断点调试: 访问页面对应代码进行断点调试 (执行过程前后顺序调用文件列表等) 便于你完整了解过程中代码一整个执行下来你就可以分析到它其中有没有过滤了其实就是追踪过程
QQ业务图标点亮系统挖掘-数据库监控追踪
加载源码 利用关键字进行全局搜索就是所有代码都载进去搜索关键字因为有select才能说明有语句的查询 关键字会被封装其实select被写成一种函数自定义的类里面去了直接调用就完事了 在搜索的时候要把正则和不区分大小写给勾起来 在找的时候那个有变量就看那个文件没有变量这个语句就写死了因为外面要控制变量实现sql语句的自定义 如果出现乱码换一下GBK然后重新打开 选中函数名点击全局搜索在那个代码中有调用这个函数 全文追踪在代码中搜索它在那个地方 判断值等于几然后给出相应的提示 在调用语句的时候把它调式输出一下能够更加快捷的看到当前执行的SQL语句 对应调用的文件在v144.php里面外面访问一下对应的文件 说明没有进入代码段是有个验证的 得到网站的地址 获取来路地址由于我是直接访问的没有来路地址所以url为空最终domain为空 有跟没有对比显然不存在外面要让它相等才能进行刚才注入的判断 我们访问的时候让它有来源点击有跳转功能的地方F12修改器href然后点击跳转 现在就不提示了因为它的来源是自身来源 传递id1还是按照刚才的方式来 查找一下 “请输入完整” 我们还需要继续满足条件apioku1p1 id改成2之后 看一下yw有几个列 看一下语句能不能代入进去并且执行用#号屏蔽掉 重新操作一下 这个时候语句就执行了说明存在注入点 语句被执行了延迟了3秒因为被调用了3次所以延迟了9秒 我们先搜索select然后找到变量我们在看函数被谁调用发现有值传进来控制变量id访问v144.php受到了文件名的两个过滤第一个是检测来源的过滤第二个是满足这个条件 条件满足之后变量成功接受调用这个函数函数直接拼接语句没有过滤这代码属于无过滤的注入点
74CMS人才招聘系统挖掘-2次注入应用功能自带转义)
74CMS这个源码是有自带过滤的这个自带过滤是很多优秀、有一定规模的CMS自带的过滤机制就是在代码中没有看到有过滤的写法但是他的配置文件里面已经写进去了然后他调用一些函数就可以去分析一下你输入的代码中有没有这个代码 一把看他的过滤机制写法是看他的全局配置文件配置文件的目录结构一般会在网站目录下面像include这种关键字里面 这个就是典型的过滤转移等同于魔术引号 common.inc.php这里面的代码基本上是全局享用的文件基本上都调用这个代码都被执行了一遍 addslashes_deep重新写的定义函数先看一下你的开关开没开没有开就利用东西来过滤 我们可以采用宽字节注入、二次注入绕过魔术引号的机制 招聘网站会有招聘中心会员中心我们可以对会员中心这个地方进行设置因为会员中心里面会涉及到用户的信息和更改这个操作所以我们代码测试的功能点要放在这个上面 我们点击创建新简历信息随便写 我们利用数据库监控插件直接下断、更新 我们找到对应文件然后搜索传递的变量 我们看一下数据库执行语句输入的时候后面有update更新二次注入涉及到先插在更新但是我们这里更新的信息跟我们加载的不相关所以这个地方不满足我们就要继续找 点击保存跳到下一步 但是插入的数据我们无法指定它用了编号代替因为这些数据是我们选择的不是我们填写的所以这个数据我们不能指定 我们继续下一步 这里是直接更新没有插入数据我们之所以使用到二次注入是因为他能够解决转移就是你变量接收过去直接更新 我们加个单引号 这边自动加个反斜杆我们就注入不了我们需要同时找到操作里面有insert同样有update的两种情况而且变量还要可控还行要满足这三个条件 你插入的时候即使转义了但是他在插进去的时候斜杆被自动删除了这个过滤到数据库里面就没有了所以你在update把数据取出来之后这个斜杆没有我们才能注入因为有会干扰sql语句的正常执行会注入不了 我们在保存一下 这个就满足了 我们写上payload 上面有被过滤下面没有这就是二次注入转移绕过的经典例子 这就是刚才查询user的东西
苹果CMS影视建站系统挖掘-数据库监控追踪自带过滤
我们看一下网站我可以通过抓包来分析一下搜索框 推荐另外一个数据库监控软件 这个是监控mysql 这个是监控oracle各种数据库都有使用方法按照上面介绍的就可以 这个是监控mysql的数据库语句的 我们搜索一下xiaodi11整改过程监控的语句就出来了我们在这里就可以搜索相关资料了 这个是网页版的前面是插件版的我们想用那一种都可以 我们打开项目 寻找文件地址 m给完之后进行判断给到ac然后在包含这个文件 这边还进行分割 调用searchtrim去空格 be很明显是自定义的函数转义过滤 chkSql自定义函数进行url的编码是关键字过滤
正则式匹配有没有匹配到关键字 这边是两种过滤转义和关键字过滤 htmlEncode这里是强制性编码转义接触到数据库还会转义 我们可以使用双重编码绕过转义
技巧分析:
数据库监控脚本类关键字搜索业务应用分析等
总结:
代码审计不是一定要有编程知识