av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

PHP任意文件上傳漏洞

瀏覽:10日期:2022-09-12 18:56:01

漏洞細節:

這個漏洞存在于php中一個非常常用的函數中:move_uploaded_files,開發者總是用這個函數來移動 上傳 的文件,這個函數會檢查被上傳的文件是否是一個合法的文件(是否是通過 HTTP 的 post 機制上傳的),如果是合法的文件,則將它一定到指定目錄中。

例子:

move_uploaded_file ( string $filename , string $destination )這里的問題是,可以在文件名中插入空字符(之前多次修復過這個漏洞,比如CVE-2006-7243) ,利用插入空字符的方式,攻擊者可以上傳任意文件,引起遠程代碼執行漏洞等。

我這里用DVWA來演示這個例子,DVWA級別最高的一題中因為種種原因不是很容易通過,意在告訴開發者如何去開發更 安全 的文件上傳組件。讓我們來看看這個例子:

代碼地址:https://github.com/RandomStorm/DVWA/blob/master/vulnerabilities/upload/source/high.php

代碼片段:

$uploaded_name = $_FILES[’uploaded’][’name’];$uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, ’.’) + 1); $uploaded_size = $_FILES[’uploaded’][’size’];if (($uploaded_ext == 'jpg' || $uploaded_ext == 'JPG' || $uploaded_ext == 'jpeg' || $uploaded_ext == 'JPEG') && ($uploaded_size < 100000)){ if(!move_uploaded_file($_FILES[’uploaded’][’tmp_name’], $target_path)) {$html .= ’’;$html .= ’Your image was not uploaded.’;$html .= ’’; }else {$html .= $target_path . ’ succesfully uploaded!’;..

這段代碼有好多個漏洞,比如XSCH, XSS等,但是沒有RCE這種嚴重的漏洞,因為從PHP 5.3.1開始,空字符的問題已經被修復了。這里的問題是,DVWA將用戶上傳的name參數傳遞給了move_upload_file()函數,那么 php 執行的操作可能就是這樣子的:

move_uploaded_file($_FILES[‘name’][‘tmp_name’],”/file.phpx00.jpg”);這本應該創建一個名為file.phpx00.jpg的文件,但實際上創建的文件是file.php。

這樣,就繞過了代碼中對后綴名的校驗,并且事實證明GD庫中又很多其他函數也存在這個問題(比如getimagesize(), imagecreatefromjpeg()…等),可以看這個例子。

如果你機器的php版本在 5.4.39, 5.5.x – 5.5.23, 或者 5.6.x – 5.6.7,可以通過檢查文件名中是否有x00字符來解決本文中所述的問題。

安全建議如果你的機器上存在這個漏洞,建議使用隨機字符串重命名文件名,而不是使用用戶上傳上來的name參數的值。

標簽: PHP
相關文章:
主站蜘蛛池模板: 在线观看成人小视频 | 免费观看一级毛片 | 91在线精品视频 | 天天干夜夜操视频 | 人人玩人人添人人澡欧美 | 国产99小视频 | 成人免费观看视频 | 中文字幕 在线观看 | 天天av网 | 亚洲欧美日韩精品久久亚洲区 | 久久乐国产精品 | 亚洲精品v日韩精品 | 国产精品国产三级国产aⅴ中文 | 国产电影一区二区在线观看 | 国产男女视频 | 天天碰夜夜操 | 懂色av一区二区三区在线播放 | 欧美精品一区三区 | 亚洲精品一二三 | 国产jizz女人多喷水99 | 国偷自产av一区二区三区 | 日本精品一区二区三区在线观看 | 欧美国产日韩一区 | 亚洲综合日韩精品欧美综合区 | 99精品欧美一区二区三区综合在线 | 国产激情视频在线观看 | 免费午夜电影 | 91黄在线观看 | 日韩精品专区在线影院重磅 | 色播av| 国产乱码高清区二区三区在线 | 亚洲 一区 | 成人精品久久 | 国产精品免费大片 | 在线观看一区 | 91精品国产欧美一区二区 | 国产区在线观看 | 一区二区三区视频在线观看 | 国产精品视频一区二区三区 | 亚洲一区二区三区免费在线观看 | 成人在线观看网址 |