知难行易,知易行难

  1. 知难行易,知易行难
    1. 规则
    2. 第一 善用搜索
    3. 第二 日常积累
    4. 第三 工具使用
    5. 第四 实际场景
    6. 第五 测试流程
  2. 第六 红队攻击
    1. web 开发语言
    2. web 服务器

知难行易,知易行难

规则

无论说是 二进制 安全还是 web 安全,都是应用层面的安全。那么必然对应着与之实现该应用的语言和相关配置。

在对抗上,到了今天大多数时候都可以通过互联网直接搜索危险函数、关键实现方法来审计代码。 重点就是一些非内存安全语言编写的,或 C 系语言 截断攻击, web rfc7230 超文本传输写(分块传输 bypass) 都是利用检测机制不完善导致恶意攻击能够被执行,web 信息传输中 mime type欺骗。

目前这个时间节点 2024 年 ,top 10 漏洞 任意 关键字 如 ssrf 总结 就可以快速的学习到有关知识,实际情况是至少了解这个漏洞(有bug的功能)出现在那些位置

SSRF漏洞原理攻击与防御(超详细总结) - 运维派

https://github.com/swisskyrepo/SSRFmap

所以 这里我想要表达的是一种学习方法和上手速度的问题,在实际工作中可能并不是所有的知识你都用得上,或是待解决的问题其前置知识是你熟悉的,那么在不熟悉这个问题的解决流程如何快速的上手去处理掉这个麻烦呢

第一 善用搜索

  • 谷歌百度 直接搜索通过指纹识别到的或者 这个站点上有这某cms名称,直接键入 cms名 vuln

  • github 安全工具很多,尽量避免使用闭源二进制文件。(一定要清楚这个工具做了什么,比如一些场景我们只为了验证漏洞存在而不是执行恶意指令如上传webshell,执行恶意指令 )

  • 各种服务应用的官网 ,如 apache vuln 这种关键字可以导航到 我们想要看的官网的一些历史漏洞信息。

第二 日常积累

嘿嘿,渗透测试的本质是信息收集,信息收集的实操其实就是检索

  • 积累字典(这个不用多说)

  • 偶尔积累一些工具 比如常用的shiro 反序列化工具(无论是 poc 还是 exp)。

  • 了解一点点编程语言基础 了解变量和控制语句,知道什么是函数什么是类。

第三 工具使用

这里插一句题外话,web 的扫描器原理很简单就是发送一个 携带payload的数据包 根据匹配相应包数据来判断是否是存在漏洞,当然这说起来很简单(需要丰富的规则,强大的解析器,避免误报漏报)。

第四 实际场景

等保做多了 怎么数据全是加密啊,渗透测试的终极是 js 逆向?? 大雾

  • 遇到这类问题不要慌 直接 jstool + jsrpc + yakit (百度搜相关文章有具体的方法这里不多赘述,主打的一个方法论)

  • 其实上面的要花时间学习 js 逆向 扣代码 还原加密算法等,但是真实情况是站点很多也没那么多精力去搞。

有一些漏洞他的验证只能通过 dns 外带形式,不然就是 exec 直接去创建文件类似无回显在内网环境怎么测试呢

第五 测试流程

  • 其实 每个人测试或者规章制度 报告格式都是不同的,看个人喜好来

  • 可以直接 浏览器先开插件代理 proxy 到 burp中,在burp设置下游代理到 xray中 做被动扫描。(这个部分在网上也能搜到的具体实操,不过赘述)

  • 我的方法是望闻问切,首先看,看是否是cms是否存在历史漏洞,如果是自研那么看页面有什么功能,搜索登录切换选项卡,观察随手输入点payload,看看有没有xss、sqli、弱口令、验证码绕过。渗透测试,还是主打一个测试只是我们的测试用例是特殊的。 (这期间观察请求包和响应包数据,或许有测试的接口没有屏蔽把所有信息都暴露出来也不一定,漏洞+1)

  • 上述是常规的,然后就是业务逻辑漏洞,还是看功能,常见的任意登录,任意修改密码,任意查看他人用户数据(是正常功能看不了的),这里要声明什么是漏洞,漏洞是正常逻辑无法实现的如越权,权限不够执行的但是你突破了,没办法修改的你修改了,不该看到的你看到了,ok 这就是漏洞。

第六 红队攻击

  • 其实 常规的渗透测试如等保渗透不涉及 红队攻击,这里简单的说一下红队攻击吧,首先是webshell,获得立足点,这里就扩展到 web 打点,打点最重要的是攻击面的信息收集。先知道家在哪,在知道从哪里能进入家。rce xxs 等组合漏洞 方法不限于web攻击社工等,核心技术还是web渗透、木马免杀。

web 开发语言

这一部分 了解然后 去 github 找对应的 poc 或 exp 即可,不做深入研究的话拿起工具就是干也行。

**无论是 web 还是二进制安全,测试本身就是修改可操控内容导致 非正常预期执行**

php

  • thinkphp

  • Laravel

  • php的魔术方法(这块可以百度具体查)

java web

Webpack(前端打包工具)

GitHub - rtcatc/Packer-Fuzzer: Packer Fuzzer is a fast and efficient scanner for security detection of websites constructed by javascript module bundler such as Webpack.

web 服务器

这里原本打算细说 每种服务器它对数据包处理,如参数传递取值等产生的一些绕waf的方法,这些网上细细检索一番 也会有不少收获

apache http server (php 、python)

官网安全公告 https://httpd.apache.org/security/

  • .htaccess

nginx

apache tomcat(专为Java设计的Servlet容器)

参考:

  1. RFC7230 中文翻译 中文RFC RFC文档 RFC翻译 RFC中文版

  2. GitHub - PeiQi0/PeiQi-WIKI-Book: 面向网络安全从业者的知识文库🍃


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。与我联系email c2VjaW5mby5tQGdtYWlsLmNvbQo=