Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wordlist.rb — 워드리스트를 생성하고 작업하기 위한 Ruby 라이브러리 및 CLI입니다. | Kitploit
도구/GitHubGitHub/postmodern/wordlist.rb
Password AttacksFuzzingPenetration TestingUtilities & Frameworks
GitHubpostmodern/wordlist.rb

wordlist.rb

워드리스트를 생성하고 작업하기 위한 Ruby 라이브러리 및 CLI입니다.

저장소 보기
4837개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Wordlist

CI Code Climate Gem Version

  • 소스
  • 이슈
  • 문서

설명

Wordlist는 단어 목록(wordlist)을 효율적으로 읽고, 결합하고, 변형하고, 구축하기 위한 Ruby 라이브러리이자 CLI입니다.

기능

  • .txt 단어 목록과 .gz, .bz2, .xz, .zip, .7z로 압축된 단어 목록 읽기를 지원합니다.
  • 임의의 텍스트에서 단어 목록을 구축하는 것을 지원합니다. 또한 .gz, .bz2, .xz, .zip, .7z 압축을 지원합니다.
  • 텍스트를 단어로 파싱하기 위한 고급 렉서(lexer)를 제공합니다.
    • 숫자, 특수 문자, 정수, 약어를 파싱하거나 건너뛸 수 있습니다.
    • 대소문자, 아포스트로피, 약어를 정규화할 수 있습니다.
  • 여러 단어 목록을 서로 결합하기 위한 단어 목록 연산을 지원합니다.
  • 단어 목록의 단어를 즉시 수정하거나 변형하는 것을 지원합니다.
  • wordlist 명령어도 제공합니다.
  • 빠른 편

예제

읽기

읽기용 단어 목록 열기:

root@kitploit:~
wordlist = Wordlist.open("passwords.txt")

읽기용 압축된 단어 목록 열기:

root@kitploit:~
wordlist = Wordlist.open("rockyou.txt.gz")

단어 목록 순회하기:

root@kitploit:~
wordlist.each do |word|
  puts word
end

리터럴 단어들의 인메모리 목록 생성하기:

root@kitploit:~
words = Wordlist::Words["foo", "bar", "baz"]

목록 연산

두 단어 목록을 서로 연결(concat)하기:

root@kitploit:~
(wordlist1 + wordlist2).each do |word|
  puts word
end

두 단어 목록의 합집합(union) 구하기:

root@kitploit:~
(wordlist1 | wordlist2).each do |word|
  puts word
end

한 단어 목록에서 다른 단어 목록을 차집합(subtract)하기:

root@kitploit:~
(wordlist1 - wordlist2).each do |word|
  puts word
end

wordlist1의 모든 단어를 wordlist2의 단어들과 결합하기:

root@kitploit:~
(wordlist1 * wordlist2).each do |word|
  puts word
end

단어 목록을 그 자체와 여러 번 결합하기:

root@kitploit:~
(wordslist ** 3).each do |word|
  puts word
end

여러 단어 목록에서 중복 제거하기:

root@kitploit:~
(wordlist1 + wordlist2 + wordlist3).uniq.each do |word|
  puts word
end

문자열 조작

단어 목록의 모든 단어를 소문자로 변환하기:

root@kitploit:~
wordlist.downcase.each do |word|
  puts word
end

단어 목록의 모든 단어를 대문자로 변환하기:

root@kitploit:~
wordlist.upcase.each do |word|
  puts word
end

단어 목록의 모든 단어를 첫 글자만 대문자로 변환하기:

root@kitploit:~
wordlist.capitalize.each do |word|
  puts word
end

단어 목록의 모든 단어에 String#tr 실행하기:

root@kitploit:~
wordlist.tr('_','-').each do |word|
  puts word
end

단어 목록의 모든 단어에 String#sub 실행하기:

root@kitploit:~
wordlist.sub("fish","phish").each do |word|
  puts word
end

단어 목록의 모든 단어에 String#gsub 실행하기:

root@kitploit:~
wordlist.gsub(/\d+/,"").each do |word|
  puts word
end

단어 목록의 각 단어에 대해 가능한 모든 변형을 수행하기:

root@kitploit:~
wordlist.mutate(/[oae]/, {'o' => '0', 'a' => '@', 'e' => '3'}).each do |word|
  puts word
end
# dog
# d0g
# firefox
# fir3fox
# firef0x
# fir3f0x
# ...

단어 목록의 모든 단어에 대해 가능한 모든 대소문자 변형을 열거하기:

root@kitploit:~
wordlist.mutate_case.each do |word|
  puts word
end
# cat
# Cat
# cAt
# caT
# CAt
# CaT
# cAT
# CAT
# ...

단어 목록 구축

root@kitploit:~
Wordlist::Builder.open('path/to/file.txt.gz') do |builder|
  # ...
end

개별 단어 추가하기:

root@kitploit:~
builder.add(word)

단어 배열(Array) 추가하기:

root@kitploit:~
builder.append(words)

텍스트 파싱하기:

root@kitploit:~
builder.parse(text)

파일 내용 파싱하기:

root@kitploit:~
builder.parse_file(path)

요구 사항

  • ruby >= 3.0.0
  • zcat/gzip (.gz 단어 목록 읽기/쓰기용)
  • bzcat/bzip2 (.bz2 단어 목록 읽기/쓰기용)
  • xzcat/xz (.xz 단어 목록 읽기/쓰기용)
  • unzip/zip (.zip 단어 목록 읽기/쓰기용)
  • 7za (.7z 단어 목록 읽기/쓰기용)

설치

root@kitploit:~
$ gem install wordlist

gemspec

root@kitploit:~
gem.add_dependency 'wordlist', '~> 1.0'

Gemfile

root@kitploit:~
gem 'wordlist', '~> 1.0'

개요

root@kitploit:~
usage: wordlist { [options] WORDLIST ... | --build WORDLIST [FILE ...] }

Wordlist Reading Options:
    -f {txt|gzip|bz2|xz|zip|7zip},   Sets the desired wordlist format
        --format
        --exec COMMAND               Runs the command with each word from the wordlist.
                                     The string "{}" will be replaced with each word.

Wordlist Operations:
    -U, --union WORDLIST             Unions the wordlist with the other WORDLIST
    -I, --intersect WORDLIST         Intersects the wordlist with the other WORDLIST
    -S, --subtract WORDLIST          Subtracts the words from the WORDLIST
    -p, --product WORDLIST           Combines every word with the other words from WORDLIST
    -P, --power NUM                  Combines every word with the other words from WORDLIST
    -u, --unique                     Filters out duplicate words

Wordlist Modifiers:
    -C, --capitalize                 Capitalize each word
        --uppercase, --upcase        Converts each word to UPPERCASE
        --lowercase, --downcase      Converts each word to lowercase
    -t, --tr CHARS:REPLACE           Translates the characters of each word
    -s, --sub PATTERN:SUB            Replaces PATTERN with SUB in each word
    -g, --gsub PATTERN:SUB           Replaces all PATTERNs with SUB in each word
    -m, --mutate PATTERN:SUB         Performs every possible substitution on each word
    -M, --mutate-case                Switches the case of each letter in each word

Wordlist Building Options:
    -b, --build WORDLIST             Builds a wordlist
    -a, --[no-]append                Appends to the new wordlist instead of overwriting it
    -L, --lang LANG                  The language to expect
        --stop-words WORDS...        Ignores the stop words
        --ignore-words WORDS...      Ignore the words
        --[no-]digits                Allow digits in the middle of words
        --special-chars CHARS        Allows the given special characters inside of words
        --[no-]numbers               Parses whole numbers in addition to words
        --[no-]acronyms              Parses acronyms in addition to words
        --[no-]normalize-case        Converts all words to lowercase
        --[no-]normalize-apostrophes Removes "'s" from words
        --[no-]normalize-acronyms    Removes the dots from acronyms

General Options:
    -V, --version                    Print the version
    -h, --help                       Print the help output

Examples:
    wordlist rockyou.txt.gz
    wordlist passwords_short.txt passwords_long.txt
    wordlist sport_teams.txt -p beers.txt -p digits.txt
    cat *.txt | wordlist --build custom.txt

단어 목록 읽기:

root@kitploit:~
$ wordlist rockyou.txt.gz

여러 단어 목록 읽기:

root@kitploit:~
$ wordlist sport_teams.txt beers.txt

한 단어 목록의 모든 단어를 다른 단어 목록과 결합하기:

root@kitploit:~
$ wordlist sport_teams.txt -p beers.txt -p all_four_digits.txt
coors0000
coors0001
coors0002
coors0003
...

한 단어 목록의 모든 단어를 그 자체와 N번 결합하기:

root@kitploit:~
$ wordlist words.txt -P 3

단어 목록의 모든 단어 변형하기:

root@kitploit:~
$ wordlist passwords.txt -m o:0 -m e:3 -m a:@
dog
d0g
firefox
fir3fox
firef0x
fir3f0x
...

단어 목록의 각 단어에 대해 명령어 실행하기:

root@kitploit:~
$ wordlist directories.txt --exec "curl -X POST -F 'user=joe&password={}' -o /dev/null -w '%{http_code} {}' https://$TARGET/login"

.txt 파일 디렉토리에서 단어 목록 구축하기:

root@kitploit:~
$ wordlist --build wordlist.txt dir/*.txt

STDIN에서 단어 목록 구축하기:

root@kitploit:~
$ cat *.txt | wordlist --build wordlist.txt

벤치마크

root@kitploit:~
                                               user     system      total        real
Wordlist::Builder#parse_text (size=5.4M)   1.943605   0.003809   1.947414 (  1.955960)
Wordlist::File#each (N=1000)               0.000544   0.000000   0.000544 (  0.000559)
Wordlist::File#concat (N=1000)             0.001143   0.000000   0.001143 (  0.001153)
Wordlist::File#subtract (N=1000)           0.001360   0.000000   0.001360 (  0.001375)
Wordlist::File#product (N=1000)            0.536518   0.005959   0.542477 (  0.545536)
Wordlist::File#power (N=1000)              0.000015   0.000001   0.000016 (  0.000014)
Wordlist::File#intersect (N=1000)          0.001389   0.000000   0.001389 (  0.001407)
Wordlist::File#union (N=1000)              0.001310   0.000000   0.001310 (  0.001317)
Wordlist::File#uniq (N=1000)               0.000941   0.000000   0.000941 (  0.000948)
Wordlist::File#tr (N=1000)                 0.000725   0.000000   0.000725 (  0.000736)
Wordlist::File#sub (N=1000)                0.000863   0.000000   0.000863 (  0.000870)
Wordlist::File#gsub (N=1000)               0.001240   0.000000   0.001240 (  0.001249)
Wordlist::File#capittalize (N=1000)        0.000821   0.000000   0.000821 (  0.000828)
Wordlist::File#upcase (N=1000)             0.000760   0.000000   0.000760 (  0.000769)
Wordlist::File#downcase (N=1000)           0.000544   0.000001   0.000545 (  0.000545)
Wordlist::File#mutate (N=1000)             0.004656   0.000000   0.004656 (  0.004692)
Wordlist::File#mutate_case (N=1000)       24.178521   0.000000  24.178521 ( 24.294962)

라이선스

Copyright (c) 2009-2023 Hal Brodigan

자세한 내용은 {file:LICENSE.txt}를 참조하십시오.

도구 다운로드