首页 » 网站推广 » 先知云PHP授权技巧_干货top白帽子 Gr36_ 手把手教你挖马脚|2017 先知白帽大年夜会

先知云PHP授权技巧_干货top白帽子 Gr36_ 手把手教你挖马脚|2017 先知白帽大年夜会

访客 2024-12-15 0

扫一扫用手机浏览

文章目录 [+]

从 2016 年开始,Gr36_ 在先知平台生动,也在海内其他众测平台“挖洞”。
他对自己身份的定义是“众测玩家”。
虽然 Gr36_ 在先知平台已经累计拿到 285950 元的奖金,他表示,赚取额外收入只是他成为众测玩家的缘故原由之一,他在三年前打仗众测,像玩游戏一样,爱上了这项“劳动”,有乐趣,还能交到好朋友,一起提升技能。

Gr36_认为,众测多方共赢的模式可以改变很多人的生活。

先知云PHP授权技巧_干货top白帽子 Gr36_ 手把手教你挖马脚|2017 先知白帽大年夜会

《葵花宝典》伤身,挖洞秘籍有益。

先知云PHP授权技巧_干货top白帽子 Gr36_ 手把手教你挖马脚|2017 先知白帽大年夜会
(图片来自网络侵删)

3月24日,Gr36_ 在 2017 先知白帽大会上,请教授了这种有益身心的挖洞宝典。
以下为 Gr36_ 的秘籍实录,雷锋网在不修正原意的根本上略有修订和删节,PPT 截图为 Gr36_ 授权雷锋网发布。

[Gr36_ 在 2017 先知白帽大会上]

0x00 信息搜集:众里寻他千百度

我们都知道打仗时搜集情报是重中之重,安全测试中前期的信息搜集事情也是关系着全体项目成败的关键成分。

众测时拿到一个给定的测试范围,比如,一个主域名,获取到的各种信息越多,拓展出去的测试范围越广,能挖到高危漏洞的概率也越大。
有一些做常规信息搜集的手段,如,IP端口扫描、子域名的爆破。
但是,我要先容一些平常随意马虎被忽略的信息。

微信公众年夜众号

时下,微信已经成为全新的社交办法,大大小小的公司也开始运营自己微信公众号,很多公司采取第三方微信公众年夜众平台,有的自己研发微商城、微官网这样的系统。

这样的系统每每存在问题,如果碰着的测试背景是第三方微信公众平台,须要多花一些精力,这样会得到比较好的效果。
通过微信"大众号的搜索功能,直接搜索到测试目标微信"大众平台的测试程序,我创造了很多安全漏洞。

移动APP

公司系统经由长久的测试与开拓,安全系数越来越高,我们挖到安全漏洞的难度也越来越大。
相对而言,APP 作为最近几年才兴起的新鲜事物,很多公司在该领域的安全投入轻微欠缺,APP 也很随意马虎成为测试过程中的打破口,由于可能用同样的业务逻辑,APP 有可能也存在安全问题。

这是WEB系统的密码找回末了一步的流程,全体流程在找回输入注册时候预留的邮箱,系统会将密码找回的链接,输入了密码往后抓包,就可以来到这一步,正常而言,KEY 的参数该当是随机天生的,但当时测试几次后创造KEY是不变的,那么 KEY 会不会是和用户身份干系的标识呢?能够从系统中找到用户的ID和KEY的对应关系,就可以重置任意一个用户的密码,但是我在全体系统中都没有找到干系踪迹,这时我把眼力投向了移动 APP ,果不其然,我在移动 APP 登录要求创造了一些蛛丝马迹,经由比对和之前密码找回的 KEY是一样的,把这两个要求组合起来就能做到——知道用户名就可重置任意用户的密码了!

passive dns

先看一个命令实行漏洞的案例。
这个漏洞的奇葩之处不在于漏洞本身的利用办法有多繁芜,便是一个稀疏平常的,由于拼接 os 命令造成的命令实行,关键的地方在于这个子域名是如何创造的。
像这种多级子域名,光靠字典爆破是很难跑出来的,这里便是用 passive dns 数据获取到子域名数据。

普通而言,passive dns 便是 dns 解析记录的历史数据。
国内外都有提高 dns 解析历史数据的网站,利用这些网站供应的查询功能或 api ,可以获取到很多利用暴力猜解没办法获取到的子域名数据。

历史漏洞

我有一个非常深刻的感想熏染:漏洞从来不单独涌现,某个别系涌现了某种类型的漏洞,解释卖力开拓这个别系的程序员的安全意识不强,安全编码不规范,有非常大的概率,在系统中还隐蔽着没有被我们找到的漏洞。
最好的例子是,前段韶光肆虐各大网站的 strusts 2 命令实行漏洞,大家可以猜一下 st2 命令实行漏洞的编号会达到多少?以是,历史漏洞在众测中可以给我们供应很多参考。
通过漏洞平台的历史漏洞数据,能得到很多的启迪和参考。

0x01 精骛八极,心游万仞

我认为,挖洞是一项非常须要想象力的活动,在测试的过程中该当多考虑一些分外的情景,多开脑洞。

双编码注入和宽字节注入,这两种在 PHP 源代码审计中比较的常见,但是按照履历,众测过程中,在黑盒时也可以碰到这种非常规注入,测试注入时如果只是用单引号、双引号做测试,这两种分外的注入就跟你无缘了。

排序注入,为什么要把排序注入单独拿出来说?对大多数的程序员而言,参数化查询、预编译处理可以办理绝大部分注入处理,但是,排序注入比较分外,预编译处理对它无效,这种注入特殊随意马虎成为漏网之鱼。

在系统中只要输入单引号系统就会返回一个空,这种环境该当不存在注入,但是,这里是不是存在全局过滤机制?碰着单引号或者是其他的分外字符系统就返回空?我把要求变成 POST 要求,经由这样的变换,创造这个别系是可以注入的,用这种办法可以绕过程序全局的过滤。

0x02 天下大事,必作于细

细节决定成败,在测试过程中不仅要胆大而且要心细,多把稳一些细枝末节,有时,会有一些比较意外的创造。
我有个比较良好的习气,喜好察看网页的源代码。

上述案例中,我当时因此普通用户权限登录到系统中,察看网页源码中创造有一堆注释,注释包含着一些链接,这些链接看上去是管理员功能的链接,末了这个链接普通用户也可以访问,这是属于垂直权限的越权漏洞。

类似的 JS 源码也是隐蔽着一些看不到的信息,这些信息每每可以每每可以打开测试的局势,我当时在测试过程中碰着后台系统,这个别系没有帐号,经由暴力破解也没有成功进入系统中,这时我去查阅系统加载的 JS 文件,个中一个文件中创造这样一个函数,看上去该当是注册函数,根据里面的逻辑拼接成一个要求,末了创造利用这个要求确实能够注册一个后台系统的帐号密码,然后就可以进一步登录后台系统进行测试。

奇葩的支付漏洞,电商网站选购完商品末了一步进行结算支付,当时选择的支付办法是网银在线,这个要求输入一个订单号,系统会返回一个表单,终极会拼接成网银在线的终极支付链接,如果不仔细看可能就不会创造里面多了一点东西。
看 KEY参数,在一样平常支付宝或者是网银支付链接里,肯定有一个参数校验的过程,为了防止用户修改支付过程的金额和订单号会做参数交验, KEY 会不会便是参数交验过程中碰着的密钥?当时我找到网银在线的文档,经由仔细研究,猜想 KEY 可能是参数交验所须要的密钥,根据规则结合前面的 KEY ,自己手动布局一个算参数交验,自己算出来的数值和系统反馈回来的数值一样,印证了我的猜想是精确的,我就可以结合这个规则和 KEY 布局出任意金额的支付链接,而且可以担保支付链接完完备全合法有效,以是,这可以算是真真正正的任意金额支付漏洞。

0x03 朝高危漏洞出发,不破楼兰终不还

测试过程中要有挖高危漏洞的心,如果是挖到低危或者是中危漏洞也要费尽心机把它变成高危的漏洞。

某次测试中找到某个别系存在 PHP 文件包含漏洞,经由测试创造这个别系没有任何上传点,文件包含是本地文件包含,意味着无法通过上传或者是远程文件包含拿到 web shell ,这时通过文件包含漏洞连续读系统源代码,末了在某一个文件中创造了这么一行代码,这行代码意味着可以掌握 session 变量,PHP的 session 保存做事器某个固定的路径下,而且文件名是固定的前缀加上 session ID,路径可以知道,session 的变量也可以掌握,可以通过这个页面往 session 文件里写一句话,终极通过包含session文件的办法获取到web shell。

论坛程序,在众测的过程中碰着很多,对付这种程序大家都有自己的方法,有些是用社工管理员的帐号,或者是利用历史漏洞去入手,自携同一管理的程序。

如果仔细看过漏洞详情,就会知道 UC 有很多的 API 设计非常不屈安,利用 API 爆破 UC 创始人的密码,这个爆破不受验证码要求次数的研制,爆破创始人密码可以登录 UC 的后台,相称于可以得到论坛至高无上的权限,我在众测过程中创造很多厂商对这里有一些加固,可能会做访问的限定,比如,针对源 IP 的限定,涌现这种情形可以回到这里,在拿到创始人密码情形下,可以得到论坛对应的 uc key,可以结合之前UC 的漏洞进行选项,还可以进行注入,注入写本地的中转脚本,可以利用自动化工具完成。

0x04 工欲善其事,必先利其器

很多白帽子在众测的时候都用自己的专属的工具包,有些是自己定制化开拓的工具,我平常利用比较多的是一款基于被动式的扫描工具,在这种被动式扫描工具涌现之前,也有大牛开源了一款工具,但是要经由注入检测,我推举的这款适用范围更广一些,技能差不多也是利用现成的轮子组合,技能含量不是很高,紧张是分享一些思路。

程序搭载的流程,访问代理做事器可以抓取用户所有的要求流量,可以对流量进行存储,后真个扫描程序再对流量进行安全检测。

程序分三部分,对付 host 字段网站的域名和 IP ,会进行端口做事的识别,根据做事识别的结果再系统自动匹配调用干系的漏洞扫描的插件。
系统扫描结果创造目标完善运行一个做事,自动从系统中调用爆破之类的检测脚本检测,url 会进行外部指纹的识别,识别目标网站利用中间件,系统会自动调用一些反序列化弱密码的爆破之后进行检测。
对付动态页面,会调用文件包含之类的常规的外部扫描的插件进行检测。
完全的流程走下来可以省去很多啰嗦重复性的劳动,也可以提高扫描的效率,提高漏洞创造的准确度,达到事半功倍的效果。

用到两个框架,Tornado、Twisted,意味着在资源比较少的情形下,单机情形下都可以得到比较不错的扫描效率。

关注雷锋网,得到更多关于2017 先知白帽大会的信息。

标签:

相关文章

php尖括号向上技巧_PHP 运用类

类是变量与浸染于这些变量的函数的凑集。工具:实际存在该类事物中每个实物的个体。$a =new User( ; 实例化后的$a。创建...

网站推广 2024-12-17 阅读0 评论0