Skip to content

Commit 5a2ecd1

Browse files
committed
update query
1 parent a4d5a8e commit 5a2ecd1

File tree

14 files changed

+86
-975
lines changed

14 files changed

+86
-975
lines changed

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: Install Golang
1414
uses: actions/setup-go@v2
1515
with:
16-
go-version: 1.16
16+
go-version: 1.17
1717

1818
- name: Get Current Date
1919
id: date

README.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,20 @@ Usage of ./httpx:
9696

9797
## 逻辑查询
9898

99-
📢: 正常查询字符串时,必须添加""
100-
101-
> 支持五个字段的查询
99+
`ip=127.0.0.1 || ip="127.0.0.1" or ip=127.0.0.1 && body="123" and statuscode=200`
102100

103101
```bash
102+
# 如果未加关键字,则会全部进行查询
103+
104+
ip
104105
host
105106
title
107+
statuscode
108+
bodylength
109+
createtime
110+
body
106111
tls
107112
icp
108-
body
109113
```
110114

111115
> 逻辑
@@ -115,24 +119,19 @@ body
115119
||
116120
```
117121

118-
> 使用 () 和 && || = == != ~= ~!=符号
122+
> 使用 () 和 && || = == != ~= !~=符号
119123
120124
```bash
121125
()
122-
&&
123-
||
126+
&& / and
127+
|| / or
124128
=
125129
==
126130
!=
127131
~=
128-
~!=
132+
!~=
129133
```
130134

131-
### example
132-
133-
- host="127.0.0.1" && body="test"
134-
- (icp="京" || icp="沪") && title="404"
135-
136135
## 操作
137136

138137
- TLS 面板

go.mod

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,25 @@ go 1.16
44

55
require golang.org/x/text v0.3.7
66

7-
require github.com/chromedp/cdproto v0.0.0-20220530001853-c0f376d894d1
7+
require github.com/chromedp/cdproto v0.0.0-20220620034043-93c6adfcda6a
88

99
require (
1010
github.com/bufsnake/parseip v0.0.0-20210416105416-fc19e9d32da7
11-
github.com/bufsnake/wappalyzer v0.0.0-20220602013647-3f6d6dd8fd3f
11+
github.com/bufsnake/query v0.0.0-20220622025727-3847305c1438
12+
github.com/bufsnake/wappalyzer v0.0.0-20220622031713-6e3d99ae0ac0
1213
github.com/chromedp/chromedp v0.8.2
1314
github.com/gin-gonic/gin v1.7.7
1415
github.com/grantae/certinfo v0.0.0-20170412194111-59d56a35515b
1516
github.com/json-iterator/go v1.1.12 // indirect
1617
github.com/kr/pretty v0.3.0 // indirect
1718
github.com/liyue201/goqr v0.0.0-20200803022322-df443203d4ea
1819
github.com/logrusorgru/aurora v2.0.3+incompatible
19-
github.com/miekg/dns v1.1.49 // indirect
20+
github.com/miekg/dns v1.1.50 // indirect
2021
golang.org/x/image v0.0.0-20211028202545-6944b10bf410
21-
golang.org/x/net v0.0.0-20220531201128-c960675eff93 // indirect
22-
golang.org/x/tools v0.1.10 // indirect
23-
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect
22+
golang.org/x/net v0.0.0-20220621193019-9d032be2e588 // indirect
23+
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c // indirect
24+
golang.org/x/tools v0.1.11 // indirect
25+
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect
2426
gorm.io/driver/sqlite v1.1.5
2527
gorm.io/gorm v1.21.15
2628
)

go.sum

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
github.com/bufsnake/parseip v0.0.0-20210416105416-fc19e9d32da7 h1:aGPoF7HYZG2ZP804E0OEQeX81mM3aHHiyfMXwffRp24=
22
github.com/bufsnake/parseip v0.0.0-20210416105416-fc19e9d32da7/go.mod h1:OceFywin22f9fCK98DiNJ74kHQsBoLGBZOhVuuTHs90=
3+
github.com/bufsnake/query v0.0.0-20220622025727-3847305c1438 h1:GoshYfBrmkFLtHky+CcgsABK1wrjkS16L8uBtTOe6Oc=
4+
github.com/bufsnake/query v0.0.0-20220622025727-3847305c1438/go.mod h1:vmTD8mpODbNMj5o7ohlaChfsM5pGLruB1Kz+Gb7f4/8=
35
github.com/bufsnake/wappalyzer v0.0.0-20220602013647-3f6d6dd8fd3f h1:1VwJnChtEynrk3bgFPZDFJtzACnhDYOEVrtttTulbh8=
46
github.com/bufsnake/wappalyzer v0.0.0-20220602013647-3f6d6dd8fd3f/go.mod h1:CyG4jjgFWSJ5ibP3lww9F8jaKReHhvlpKRIaZmXDVZc=
7+
github.com/bufsnake/wappalyzer v0.0.0-20220622031713-6e3d99ae0ac0 h1:T32wOHn3yviD6uescqkckNK7hODmguFqXA8VLIpXKdg=
8+
github.com/bufsnake/wappalyzer v0.0.0-20220622031713-6e3d99ae0ac0/go.mod h1:CyG4jjgFWSJ5ibP3lww9F8jaKReHhvlpKRIaZmXDVZc=
59
github.com/chromedp/cdproto v0.0.0-20211126220118-81fa0469ad77/go.mod h1:At5TxYYdxkbQL0TSefRjhLE3Q0lgvqKKMSFUglJ7i1U=
610
github.com/chromedp/cdproto v0.0.0-20211205231339-d2673e93eee4/go.mod h1:At5TxYYdxkbQL0TSefRjhLE3Q0lgvqKKMSFUglJ7i1U=
711
github.com/chromedp/cdproto v0.0.0-20220515234810-83d799542a04/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
812
github.com/chromedp/cdproto v0.0.0-20220530001853-c0f376d894d1 h1:dl8AS1mmnSC7kTpRKD4mrDrV3HJqFAm975HWap3HGg0=
913
github.com/chromedp/cdproto v0.0.0-20220530001853-c0f376d894d1/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
14+
github.com/chromedp/cdproto v0.0.0-20220620034043-93c6adfcda6a h1:2NhZzSwvpDdhdMK+imNJUvK80/kyfbd1E11kbxkCgHw=
15+
github.com/chromedp/cdproto v0.0.0-20220620034043-93c6adfcda6a/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
1016
github.com/chromedp/chromedp v0.7.6/go.mod h1:ayT4YU/MGAALNfOg9gNrpGSAdnU51PMx+FCeuT1iXzo=
1117
github.com/chromedp/chromedp v0.8.2 h1:EYSsSqWuKYwyHZEJpU00kOGOMz5DE0qDVckelzauMFA=
1218
github.com/chromedp/chromedp v0.8.2/go.mod h1:vpbCNtfYeOUo2q5reuwX6ZmPpbHRf5PZfAqNR2ObB+g=
@@ -70,6 +76,8 @@ github.com/mattn/go-sqlite3 v1.14.8/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A
7076
github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
7177
github.com/miekg/dns v1.1.49 h1:qe0mQU3Z/XpFeE+AEBo2rqaS1IPBJ3anmqZ4XiZJVG8=
7278
github.com/miekg/dns v1.1.49/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
79+
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
80+
github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
7381
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
7482
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
7583
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -101,6 +109,8 @@ golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeap
101109
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
102110
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o=
103111
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
112+
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
113+
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
104114
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
105115
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
106116
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
@@ -109,6 +119,8 @@ golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qx
109119
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
110120
golang.org/x/net v0.0.0-20220531201128-c960675eff93 h1:MYimHLfoXEpOhqd/zgoA/uoXzHB86AEky4LAx5ij9xA=
111121
golang.org/x/net v0.0.0-20220531201128-c960675eff93/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
122+
golang.org/x/net v0.0.0-20220621193019-9d032be2e588 h1:9ubFuySsnAJYGyJrZ3koiEv8FyqofCBdz3G9Mbf2YFc=
123+
golang.org/x/net v0.0.0-20220621193019-9d032be2e588/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
112124
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
113125
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
114126
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -127,6 +139,8 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc
127139
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
128140
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
129141
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
142+
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c h1:aFV+BgZ4svzjfabn8ERpuB4JI4N6/rdy1iusx77G3oU=
143+
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
130144
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
131145
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
132146
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -140,11 +154,15 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
140154
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
141155
golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20=
142156
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
157+
golang.org/x/tools v0.1.11 h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY=
158+
golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4=
143159
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
144160
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
145161
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
146162
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618=
147163
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
164+
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0=
165+
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
148166
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
149167
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
150168
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

internal/api/main.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package api
33
import (
44
"github.com/bufsnake/httpx/internal/models"
55
"github.com/bufsnake/httpx/internal/modelsImpl"
6-
"github.com/bufsnake/httpx/pkg/query"
6+
"github.com/bufsnake/query"
77
"github.com/bufsnake/wappalyzer"
88
"github.com/gin-gonic/gin"
99
"log"
@@ -15,8 +15,15 @@ type api struct {
1515
db *modelsImpl.Database
1616
}
1717

18-
func NewAPI(db *modelsImpl.Database) api {
19-
return api{db: db}
18+
func NewAPI(db *modelsImpl.Database) *api {
19+
err := query.AddKeywords([]string{
20+
"ip", "host", "title", "statuscode", "bodylength", "createtime",
21+
"body", "tls", "icp",
22+
})
23+
if err != nil {
24+
log.Fatalln(err)
25+
}
26+
return &api{db: db}
2027
}
2128

2229
type getdata struct {
@@ -85,7 +92,7 @@ func (a *api) Search(c *gin.Context) {
8592
c.String(500, "keyword is empty")
8693
return
8794
}
88-
sql, params, formatQuery, err := query.AnalysisQuery(q.Word)
95+
sql, params, formatQuery, err := query.AnalyseQuery(q.Word)
8996
if err != nil {
9097
c.String(500, "have an error in your query syntax")
9198
return
@@ -131,7 +138,7 @@ func (a *api) Copy(c *gin.Context) {
131138
return
132139
}
133140
} else {
134-
sql, params, _, err := query.AnalysisQuery(q.Word)
141+
sql, params, _, err := query.AnalyseQuery(q.Word)
135142
if err != nil {
136143
c.String(500, "have an error in your query syntax")
137144
return

internal/core/main.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,21 +156,25 @@ func (c *Core) screenshot(w *sync.WaitGroup, datas chan models.Datas, screen_sho
156156
image string
157157
icp string
158158
title string
159+
body string
159160
err error
160161
)
161162
fingers := make(map[string]wappalyzer.Technologie)
162-
image, title, fingers, err = screen_shot.Run(data.URL, data.XFrameOptions)
163+
image, title, body, fingers, err = screen_shot.Run(data.URL, data.XFrameOptions)
163164
if err != nil {
164165
c.log.Error(err)
165-
} else {
166-
data.Image = image
167-
if icp != "" && icp != data.ICP {
168-
data.ICP += "|" + icp
169-
}
166+
}
167+
data.Image = image
168+
if icp != "" && icp != data.ICP {
169+
data.ICP += "|" + icp
170170
}
171171
if title != "" {
172172
data.Title = title
173173
}
174+
if body != "" {
175+
data.BodyLength = strconv.Itoa(len(body))
176+
data.HTTPDump = body
177+
}
174178
if len(fingers) != 0 {
175179
fingers_ := make([]models.Finger, 0)
176180
for name, val := range fingers {

pkg/query/README.md

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)