1
b821025551b 2020-03-12 17:45:58 +08:00
有的,pdf_url 可传入反射型 XSS 攻击。
|
2
pmispig OP @b821025551b 这个危害倒是不大,主要是不知道有没有可执行命令 注入的风险
|
3
b821025551b 2020-03-12 17:54:40 +08:00
@pmispig #2 你贴出来得这段代码只可以知道有 XSS,但是是否会因为 XSS 的提权造成可注入的接口暴露就不一定了。
|
4
javashell 2020-03-12 18:02:12 +08:00 via Android
个人拙见,可以读取 php 源码 ,例如:
echo file_get_contents('index.php'); |
7
virusdefender 2020-03-12 18:10:22 +08:00
任意文件读取啊
|
10
onion83 2020-03-12 18:34:04 +08:00
echo file_get_contents('/etc/passwd');
|
11
dapking 2020-03-12 18:47:41 +08:00
SSRF
|
12
rekulas 2020-03-12 19:04:37 +08:00
写入和输出都是高危操作,涉及到这种语句的地方都要进行路径正则严格匹配、mime 检查、后缀检查才放心
|
13
mengkun 2020-03-12 19:57:44 +08:00
/**
* 防止 SSRF 攻击,curl、file_get_contents 前检测 url */ function requestUrlSafe($url) { $link = trim(strtolower($url)); $link = str_replace('\\', '/', $link); while (strstr($link,'../')) { $link = str_replace('../', '/', $link); } if( substr($link, 0, 6) != "ftp://" && substr($link, 0, 7) != "http://" && substr($link, 0, 8) != "https://" ) { return false; } return true; } |
14
xiri 2020-03-12 20:07:16 +08:00
对传进来的参数做验证,强制加上 http/https 头应该就可以避免读取本地文件的情况了
|
15
xiri 2020-03-12 20:08:42 +08:00
function add_protocol_header($url) {
$preg = '/^http(s)?:\\/\\/.+/'; if (preg_match($preg, $url)) { $new_url = $url; } else { $new_url = 'http://' . $url; } return $new_url; } $new_url = add_protocol_header($_GET['pdf_url']); echo file_get_contents($new_url); |
16
onesec 2020-03-13 11:05:05 +08:00
典型 任意文件读取漏洞
|