Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

自定义POC中貌似会截断URL '?'后的参数?(struts2漏报) #84

Closed
Go0p opened this issue Aug 23, 2019 · 6 comments
Closed
Assignees

Comments

@Go0p
Copy link

Go0p commented Aug 23, 2019

如下xray发的包:
image
完整uri发包:
image
测试的poc代码如下:
image

@virusdefender
Copy link
Collaborator

virusdefender commented Aug 24, 2019

poc就是将完整的url替换掉,这个问题也不算bug,应该怎么解决 @phith0n 看下

@phith0n
Copy link
Collaborator

phith0n commented Aug 26, 2019

如果出现了这种问题,只能说明一个问题:这个漏洞不应该由poc来解决。。。

poc解决的问题应该是:用户给一个域名,就能扫出漏洞。比如phpcms的漏洞,他的目录结构是固定的,漏洞的poc是固定的,不会因为path或参数的不同导致poc不同。像struts2这种漏洞,因为请求参数不同需要调整poc,这种更加类似于sql注入、xss的检测流程,所以需要单独编写一个插件。我们高级版中是有一个独立的“struts2漏洞扫描”插件的。

@imp0wd3r
Copy link
Contributor

@phith0n 编写这种插件的能力将来会开放给社区吗?之前想写 fastjson 的扫描发现也是无从下手,感觉被动扫描器的一个核心需求就是可以从流量中获取信息再对流量进行扫描。如果 go 插件的机制不好引入的话,是不是可以在 yml 提供几个内置字段来获取请求内容会更好些呢?只是一个小建议哈~

@Go0p
Copy link
Author

Go0p commented Aug 28, 2019

@phith0n p牛好,我觉得p牛你说的是针对webscan --url这种形式(希望没理解错),但是个人觉得webscan --listen 127.0.0.1:7777也是它的一大亮点,对于使用代理模式的用户而言,我觉得xray不应该修改url。。
另外还想问一下poc有办法发送body为bytes的请求吗,比如一些jboss的rce的payload

@virusdefender
Copy link
Collaborator

@imp0wd3r 以后会考虑,目前受限于实现(静态语言编译)

@Go0p 不管是 --url 还是 --listen,你指定的 url 或者浏览器发出去的数据都是先正常过,然后修改 url 修改各种参数去探测,所以没懂你说的不能修改url 的意思?poc 应该不能发送 bytes

我先 close 本 issue,有任何问题可以继续回复。

@phith0n
Copy link
Collaborator

phith0n commented Aug 30, 2019

如果utf-8编码,应该是支持bytes的,用yaml写的时候转义好就行……如果bytes里有\x8B这种非utf-8的字符,可能会被吞掉。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants