码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Python小练习】使用Python编写POC 脚本-上篇


    文章目录

    • 基本概念
      • 什么是Poc
      • 什么是Exp
    • 常见问题
      • Exp 和 Poc相同?
      • 为什么网上大多漏洞仅公开POC?
      • 为什么使用Python来编写
    • 编写流程
      • 获取详情
      • 搭建环境
      • 复现漏洞
      • 编写脚本
      • 测试脚本

    基本概念

    什么是Poc

    Poc(全称: Proof Of Concept), 中文译作概念验证。在网络安全行业,理解为漏洞验证程序,类似于程序开发中的功能Demo,仅证明某功能或观点的可行性,一般不具备“破坏性”。

    什么是Exp

    Exp(全称: Exploit),中文叫译作漏洞利用程序,就是一段可以发挥漏洞价值的程序。比如SQL注入漏洞,运行Exp脚本可以通过漏洞获取数据库敏感数据内容或服务器权限。

    常见问题

    Exp 和 Poc相同?

    严格来说二者并不相同。从脚本完整度来说,Exp比Poc更完整,Exp不仅具备漏洞验证功能,还具备漏洞利用功能。二者关系可以理解成数学集合中的包含关系,即Exp包含Poc。从功能角度来说,EXP不仅可以验证漏洞存在还可以通过漏洞获取想要的信息或服务器权限,一般具有一定“破坏性”。

    举个例子,仓库门锁坏了,你经过推开门的方式验证了门是坏的,没法锁住,但是没有进行破坏或盗取里面的财物,这就是POC验证。反之你推了门发现门锁坏了,而且进去盗取了里面的财物,这就是EXP攻击。

    为什么网上大多漏洞仅公开POC?

    • 利益相关,黑产人员往往利用漏洞牟利,公开后漏洞会被更快修复,影响不当获利。
    • 法律约束,随意传播漏洞细节会造成不当后果,所以大部分仅做证明。
    • 理论存在,例如现在很多公司要求白帽子挖掘漏洞仅做验证不做深层次利用,为了防止业务被影响,大部分证明漏洞存在后就停止了,没有更加深入具体的漏洞利用过程,理论上是存在的。还有的“版本型”漏洞,探测到版本比较低就说明存在漏洞,但无法进一步利用,所以也没法编写Exp。

    为什么使用Python来编写

    从实际角度出发,Poc仅是一段验证程序,程序编写需要从编者习惯,应用环境和便捷性等角度考虑,只要能达到目的即可。选择Python,大多是因为对新手更加友好,使用门槛低且程序易读。

    编写流程

    获取详情

    通过威胁情报网站微信公众号等获取漏洞信息,例如明确漏洞类型,作用原理、版本号和部署环境等,最低要求就是看了这些信息你能知道漏洞是怎么回事,大概为什么会产生漏洞,怎么复刻漏洞环境和怎么复现漏洞。
    资源网站推荐:
    https://x.threatbook.com/v5/vulIntelligence
    https://www.cnvd.org.cn/
    https://www.exploit-db.com/
    公众号推荐:
    直接搜索关键词“应急响应中心”或“Cert”即可

    搭建环境

    环境选择:通过虚拟机,Docker镜像和phpstudy等各类集成基础环境都可以。不论是本地还是云端根据情况决定,尽可能根据已知漏洞信息进行环境模拟,保证漏洞复现成功率较高,推荐本地Docker部署,更方便快捷。
    资源推荐:
    https://github.com/fofapro/vulfocus
    https://github.com/vulhub/vulhub

    复现漏洞

    根据了解到的漏洞详情,逐步去复现漏洞。复现的时候特别留意请求方法,必要的请求头内容、参数内容和判断漏洞存在的标识(可能是某个字符串或者某个状态码)等。能了解漏洞原理和达到成功利用目的。
    最终保证漏洞复现前提下尽可能缩减请求包内容,方便编写脚本。

    编写脚本

    复现完成后根据复现过程进行脚本编写,用脚本模拟复现过程。例如xxx.com 网站conf.ini 配置文件泄露漏洞,编写脚本基本步骤为:
    1.发送请求探测到xxx.com/conf.ini
    2.判断响应状态码为200
    3.判断响应包内容是否为conf.ini 内容
    4.得出漏洞是否存在的结论。

    测试脚本

    实用编写的Poc对本地模拟环境进行测试,保证脚本能运行到达检测效果,然后不断完善优化达到最近使用效果。

  • 相关阅读:
    【小程序源码】全新优化版趣味语句生成器
    深度分析自媒体短视频运营播放少,涨粉难的原因
    基于Web的Markdown编辑器HedgeDoc
    2023年最牛的接口测试教程(文档+视频)
    移动终端数据业务高安全通信方案研究
    安装GPU版本tensorflow、pytorch
    家乡主题网页设计代码 旅游主题网页设计 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
    MySQL数据库进阶操作(超详细大总结)
    Java集合框架详解(二)——泛型
    【SpringBoot源码】源码分析
  • 原文地址:https://blog.csdn.net/weixin_54430466/article/details/132845259
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号