2022-08-15 23:39:39 +09:00
|
|
|
|
require 'erb'
|
2022-08-17 01:11:14 +09:00
|
|
|
|
require 'yaml'
|
|
|
|
|
|
2022-08-17 23:05:58 +09:00
|
|
|
|
def generate_badge array
|
|
|
|
|
badge = ""
|
|
|
|
|
array.each { |t|
|
|
|
|
|
case t
|
|
|
|
|
when 'linux'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
when 'windows'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
when 'macos'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
when 'firefox'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
when 'safari'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
when 'chrome'
|
2022-08-17 23:15:58 +09:00
|
|
|
|
badge = badge + ""
|
2022-08-17 23:27:51 +09:00
|
|
|
|
when 'burpsuite'
|
|
|
|
|
badge = badge + ""
|
|
|
|
|
when 'zap'
|
|
|
|
|
badge = badge + ""
|
2022-08-17 23:05:58 +09:00
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
return badge
|
2022-08-17 01:11:14 +09:00
|
|
|
|
end
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
2022-08-18 01:04:58 +09:00
|
|
|
|
def generate_tags array
|
|
|
|
|
tags = ""
|
|
|
|
|
array.each { |t|
|
|
|
|
|
tags = tags + "`#{t}` "
|
|
|
|
|
}
|
|
|
|
|
return tags
|
|
|
|
|
end
|
|
|
|
|
|
2022-08-15 23:39:39 +09:00
|
|
|
|
template = %q{
|
|
|
|
|
<h1 align="center">
|
|
|
|
|
<br>
|
|
|
|
|
<a href=""><img src="https://user-images.githubusercontent.com/13212227/104400969-9f3d9280-5596-11eb-80f4-864effae95fc.png" alt="" width="500px;"></a>
|
|
|
|
|
<br>
|
|
|
|
|
<img src="https://img.shields.io/github/last-commit/hahwul/WebHackersWeapons?style=flat">
|
|
|
|
|
<img src="https://img.shields.io/badge/PRs-welcome-cyan">
|
2022-08-21 12:47:58 +09:00
|
|
|
|
<img src="https://github.com/hahwul/WebHackersWeapons/actions/workflows/deploy.yml/badge.svg">
|
2022-08-15 23:39:39 +09:00
|
|
|
|
<a href="https://twitter.com/intent/follow?screen_name=hahwul"><img src="https://img.shields.io/twitter/follow/hahwul?style=flat&logo=twitter"></a>
|
|
|
|
|
</h1>
|
2022-08-16 20:48:09 +09:00
|
|
|
|
A collection of awesome tools used by Web hackers. Happy hacking , Happy bug-hunting
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
|
|
|
|
## Family project
|
|
|
|
|
[](https://github.com/hahwul/WebHackersWeapons)
|
|
|
|
|
[](https://github.com/hahwul/MobileHackersWeapons)
|
|
|
|
|
|
|
|
|
|
## Table of Contents
|
|
|
|
|
- [Weapons](#weapons)
|
2022-08-17 23:30:21 +09:00
|
|
|
|
- [Tools](#tools)
|
|
|
|
|
- [Bookmarklets](#bookmarklets)
|
|
|
|
|
- [Browser Addons](#browser-addons)
|
|
|
|
|
- [Burp and ZAP Addons](#burpsuite-and-zap-addons)
|
|
|
|
|
- [Contribute](CONTRIBUTING.md)
|
2022-08-15 23:39:39 +09:00
|
|
|
|
- [Thanks to contributor](#thanks-to-contributor)
|
|
|
|
|
|
2022-08-16 20:48:09 +09:00
|
|
|
|
## Weapons
|
2022-08-19 14:33:44 +09:00
|
|
|
|
*Attributes*
|
|
|
|
|
| | Attributes |
|
|
|
|
|
|-------|---------------------------------------------------|
|
2022-09-16 17:44:36 +09:00
|
|
|
|
| Types | `Army-Knife` `Proxy` `Recon` `Fuzzer` `Scanner` `Exploit` `Env` `Utils` `Etc`|
|
2022-08-19 14:33:44 +09:00
|
|
|
|
| Tags | <%= tags.uniq.join ' ' %> |
|
|
|
|
|
| Langs | <%= langs.uniq.join ' ' %> |
|
2022-08-17 23:48:01 +09:00
|
|
|
|
|
2022-08-16 20:48:09 +09:00
|
|
|
|
### Tools
|
|
|
|
|
<%= tools %>
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
2022-08-16 20:48:09 +09:00
|
|
|
|
### Bookmarklets
|
|
|
|
|
<%= bookmarklets %>
|
|
|
|
|
|
|
|
|
|
### Browser Addons
|
|
|
|
|
<%= browser_addons %>
|
|
|
|
|
|
|
|
|
|
### Burpsuite and ZAP Addons
|
2022-08-17 01:11:14 +09:00
|
|
|
|
<%= tool_addons %>
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
|
|
|
|
## Thanks to (Contributor)
|
2022-08-19 23:55:56 +09:00
|
|
|
|
WHW's open-source project and made it with ❤️ if you want contribute this project, please see [CONTRIBUTING.md](https://github.com/hahwul/WebHackersWeapons/blob/main/CONTRIBUTING.md) and Pull-Request with cool your contents.
|
|
|
|
|
|
|
|
|
|
[](https://github.com/hahwul/WebHackersWeapons/graphs/contributors)
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
|
|
|
|
}.gsub(/^ /, '')
|
2022-08-17 01:11:14 +09:00
|
|
|
|
|
2022-08-19 14:33:44 +09:00
|
|
|
|
tags = []
|
|
|
|
|
langs = []
|
|
|
|
|
head = "| Type | Name | Description | Star | Tags | Badges |\n"
|
|
|
|
|
head = head + "| --- | --- | --- | --- | --- | --- |"
|
2022-08-17 01:11:14 +09:00
|
|
|
|
tools = head + "\n"
|
|
|
|
|
bookmarklets = head + "\n"
|
|
|
|
|
browser_addons = head + "\n"
|
|
|
|
|
tool_addons = head + "\n"
|
|
|
|
|
|
2022-08-19 14:33:44 +09:00
|
|
|
|
weapons = []
|
|
|
|
|
weapons_obj = {
|
2022-08-19 16:26:26 +09:00
|
|
|
|
"army-knife" => [],
|
2022-09-06 07:17:22 +09:00
|
|
|
|
"proxy" => [],
|
2022-08-19 14:33:44 +09:00
|
|
|
|
"recon"=> [],
|
|
|
|
|
"fuzzer"=> [],
|
|
|
|
|
"scanner"=> [],
|
|
|
|
|
"exploit"=> [],
|
|
|
|
|
"utils"=> [],
|
|
|
|
|
"etc"=> []
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-17 01:11:14 +09:00
|
|
|
|
Dir.entries("./weapons/").each do | name |
|
2022-08-17 23:33:50 +09:00
|
|
|
|
if name != '.' && name != '..'
|
|
|
|
|
begin
|
|
|
|
|
data = YAML.load(File.open("./weapons/#{name}"))
|
2022-08-19 14:33:44 +09:00
|
|
|
|
if data['type'] != "" && data['type'] != nil
|
|
|
|
|
weapons_obj[data['type'].downcase].push data
|
2022-08-17 23:33:50 +09:00
|
|
|
|
else
|
2022-08-19 14:33:44 +09:00
|
|
|
|
weapons_obj['etc'].push data
|
2022-08-17 23:33:50 +09:00
|
|
|
|
end
|
|
|
|
|
rescue => e
|
|
|
|
|
puts e
|
2022-08-17 01:11:14 +09:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2022-08-19 14:33:44 +09:00
|
|
|
|
weapons_obj.each do |key,value|
|
|
|
|
|
weapons.concat value
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
weapons.each do | data |
|
|
|
|
|
begin
|
|
|
|
|
name = data['name']
|
|
|
|
|
temp_tags = []
|
2022-09-06 07:25:40 +09:00
|
|
|
|
begin
|
|
|
|
|
data['tags'].each do |t|
|
|
|
|
|
temp_tags.push "`#{t}`"
|
|
|
|
|
end
|
|
|
|
|
tags.concat temp_tags
|
|
|
|
|
rescue
|
2022-08-19 14:33:44 +09:00
|
|
|
|
end
|
|
|
|
|
lang_badge = ""
|
2022-09-06 07:25:40 +09:00
|
|
|
|
begin
|
|
|
|
|
if data['lang'].length > 0 && data['lang'] != "null"
|
|
|
|
|
langs.push "`#{data['lang']}`"
|
|
|
|
|
lang_badge = ""
|
|
|
|
|
end
|
|
|
|
|
rescue
|
2022-08-19 14:33:44 +09:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
popularity = ""
|
|
|
|
|
|
|
|
|
|
if data['url'].length > 0
|
|
|
|
|
name = "[#{name}](#{data['url']})"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if data['url'].include? "github.com"
|
|
|
|
|
split_result = data['url'].split "//github.com/"
|
|
|
|
|
popularity = ""
|
|
|
|
|
end
|
|
|
|
|
badge = generate_badge(data['platform'])
|
|
|
|
|
line = "|#{data['type']}|#{name}|#{data['description']}|#{popularity}|#{temp_tags.join ' '}|#{badge}#{lang_badge}|"
|
|
|
|
|
case data['category'].downcase
|
|
|
|
|
when 'tool'
|
|
|
|
|
tools = tools + line + "\n"
|
|
|
|
|
when 'tool-addon'
|
|
|
|
|
tool_addons = tool_addons + line + "\n"
|
|
|
|
|
when 'browser-addon'
|
|
|
|
|
browser_addons = browser_addons + line + "\n"
|
|
|
|
|
when 'bookmarklet'
|
|
|
|
|
bookmarklets = bookmarklets + line + "\n"
|
|
|
|
|
else
|
|
|
|
|
puts name
|
|
|
|
|
end
|
|
|
|
|
rescue => e
|
|
|
|
|
puts e
|
|
|
|
|
end
|
|
|
|
|
end
|
2022-08-15 23:39:39 +09:00
|
|
|
|
|
|
|
|
|
markdown = ERB.new(template, trim_mode: "%<>")
|
2022-08-17 23:15:01 +09:00
|
|
|
|
#puts markdown.result
|
2022-09-06 07:17:22 +09:00
|
|
|
|
File.write './README.md', markdown.result
|