日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP-代码审计-文件读取(下载)

發布時間:2024/6/3 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP-代码审计-文件读取(下载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

  • 部分程序在下載或者讀取顯示文件的時候,讀取文件的參數filename直接在請求里面傳遞,后臺程序獲取到這個文件路徑后直接讀取返回

挖洞經驗

  • 文件讀取的漏洞尋找起來比較容易一種方式是可以先黑盒測試功能點對應的文件,再去讀文件,這樣找起來比較快。
  • 另一種方式就是搜索文件讀取的函數,看看有沒有直接或者間接控制的變量。文件讀取函數如下:
    file_get_contents()
    highlight_file()
    fopen()
    readfile()
    fread()
    fgetss()
    fgets()
    parse_ini_file()
    show_source()
    file()
  • 除了這些正常的讀取文件的函數之外,另外一些其他功能的函數也一樣可以讀取文件,
  • 比如文件的函數之外,另外一些其他函數也一樣可以讀取文件,如文件包含函數 include PHP輸入輸出流 php://filter來讀取文件

phpcms任意文件讀取分析
代碼如下:

public function public_get_suggest_keyword(){$url=$GET['url'].'&q='.$GET['q'];$res=@file_get_contents($url);if(CHARSET != 'gbk'){$res=iconv('gbk',CHARSET,$res); }echo $res; }
  • 這里可以看到該函數直接從GET參數里面獲取要讀取的url,然后使用file_get_contens函數來讀取內容,
  • 不過這里要說一點,如果直接提交?url=&q=1.php ,我們打印出來的url變量可以看到值為" &q=1.php",帶到函數里面則是file_get_contents(" &q=1.php"),這樣就讀不到當前文件
  • 需要 ?url=&q=…/…/1.php 這樣多加兩個“ …/”,吧“&q=” 當成目錄來跳過,最終這個漏洞讀取數據庫配置文件的exp為:
  • /index.php/phpcmsv9gbk//index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=…/…/phpssp_server/caches/configs

總結

以上是生活随笔為你收集整理的PHP-代码审计-文件读取(下载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。