fofa 0.3.17 → 0.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/bin/fofacli +40 -11
- data/lib/fofa.rb +0 -24
- data/lib/fofa/version.rb +4 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1266f6e972edc71cf6f3c36c8dca778832d9340
|
4
|
+
data.tar.gz: 9e4c2976d711e4e43dfcd18878e6518434d5a7be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 077e078e08a70d059fed83f8f92cd425096172c160ab0eab71702eb9026a1328bb812a7b7cb7cbf03f1eb9e239a94258b138513bcb275f26351c088b32d8b36e
|
7
|
+
data.tar.gz: 892e27388b7cb3a1be9de0ec36d8b20c5c0223b1d481432218a61a6beeb86ebfcf9ddd6d464e4fb4e47fcc5994bed1ce9467981031d030ea23ce0874ec408fa9
|
data/Gemfile.lock
CHANGED
data/bin/fofacli
CHANGED
@@ -46,7 +46,7 @@ ARGV.options do |opts|
|
|
46
46
|
options[:mode] = val.to_sym
|
47
47
|
end
|
48
48
|
|
49
|
-
opts.on('-f', '--file=FILE', String, 'Used at [import_service] mode') do |val|
|
49
|
+
opts.on('-f', '--file=FILE', String, 'Used at [import_service, check_app] mode') do |val|
|
50
50
|
options[:file] = val
|
51
51
|
end
|
52
52
|
|
@@ -110,6 +110,7 @@ ARGV.options do |opts|
|
|
110
110
|
opts.separator "\t fofacli -e aaa@bbb.com -a xxx --query_file /tmp/fofaquery"
|
111
111
|
opts.separator "\t fofacli -e aaa@bbb.com -a xxx -d ip,domain,title,port,protocol -m query_ip_list -f ip.txt"
|
112
112
|
opts.separator %Q@\t cat vapps.txt | xargs -I{} -n 1 sh -c 'fofacli "app=$1" -d host,ip,port,country,province,city -s 1000 -o json -v > "$1.txt"' -- {}@
|
113
|
+
opts.separator "\t fofacli -m check_app --app \"Coremail\" mail.tsinghua.edu.cn"
|
113
114
|
|
114
115
|
begin
|
115
116
|
opts.parse!
|
@@ -248,16 +249,44 @@ case options[:mode]
|
|
248
249
|
pool.wait_for_termination
|
249
250
|
when :check_app
|
250
251
|
query = options[:query] || ARGV.join(' ')
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
252
|
+
fofa = Fofa::API.new(options[:email], options[:apikey], {debug:options[:verbose]})
|
253
|
+
if options[:file]
|
254
|
+
File.open(options[:file]){|f|
|
255
|
+
f.each_line{|line|
|
256
|
+
query = line.strip
|
257
|
+
res = fofa.check_app(query, {
|
258
|
+
category:options[:check_app_category],
|
259
|
+
application:options[:check_app_application],
|
260
|
+
all:options[:all],
|
261
|
+
})
|
262
|
+
|
263
|
+
if res && res.size>0
|
264
|
+
res.each{|r|
|
265
|
+
log_record(options, [query, r])
|
266
|
+
}
|
267
|
+
else
|
268
|
+
log_record(options, [query, nil])
|
269
|
+
end
|
270
|
+
|
271
|
+
}
|
272
|
+
}
|
273
|
+
else
|
274
|
+
res = fofa.check_app(query, {
|
275
|
+
category:options[:check_app_category],
|
276
|
+
application:options[:check_app_application],
|
277
|
+
all:options[:all],
|
278
|
+
})
|
279
|
+
|
280
|
+
if res && res.size>0
|
281
|
+
res.each{|r|
|
282
|
+
log_record(options, r)
|
283
|
+
}
|
284
|
+
else
|
285
|
+
$stderr.puts "[WARNING] No result!"
|
286
|
+
end
|
287
|
+
|
288
|
+
end
|
289
|
+
|
261
290
|
|
262
291
|
end
|
263
292
|
|
data/lib/fofa.rb
CHANGED
@@ -153,30 +153,6 @@ module Fofa
|
|
153
153
|
req = Net::HTTP::Get.new(uri.request_uri)
|
154
154
|
resp = http.request(req)
|
155
155
|
JSON.parse(resp.body)
|
156
|
-
|
157
|
-
# File.open(file) do |f|
|
158
|
-
# results = []
|
159
|
-
# f.each_line.lazy.each_with_index do |line, i|
|
160
|
-
#
|
161
|
-
# line = line.strip
|
162
|
-
# if m = /Discovered open port (?<port>.*?)\/tcp on (?<host>.*?)$/.match(line)
|
163
|
-
# hostinfo = "#{m[:host]}:#{m[:port]}"
|
164
|
-
# elsif line.include?(':')
|
165
|
-
# hostinfo = line
|
166
|
-
# else
|
167
|
-
# hostinfo = "#{line}:#{options[:port]}"
|
168
|
-
# end
|
169
|
-
#
|
170
|
-
# results << line
|
171
|
-
# if i % split_size == 0
|
172
|
-
# req = Net::HTTP::Post.new(uri.request_uri)
|
173
|
-
# req.body = results.join("\n")
|
174
|
-
# resp = http.request(req)
|
175
|
-
# puts resp if @options[:debug]
|
176
|
-
# results = []
|
177
|
-
# end
|
178
|
-
# end
|
179
|
-
# end
|
180
156
|
rescue => e
|
181
157
|
{"error"=>"Error: #{e.to_s}"}
|
182
158
|
end
|
data/lib/fofa/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fofa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fofa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|