iT邦幫忙

0

cylab-web-North-South

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20261022/201848291zI0b7VdaP.png
先看這個網站的後端邏輯:

load_module /usr/lib/nginx/modules/ngx_http_geoip2_module.so;
worker_processes 1;
events { worker_connections 1024; }
http {
    include       mime.types;
    default_type  application/octet-stream;

    geoip2 /etc/nginx/GeoLite2-Country.mmdb {
        auto_reload 5m;
        $geoip2_data_country_code default=ZZ country iso_code;
    }
    upstream north {
        server 127.0.0.1:8000;
    }
    upstream south {
        server 127.0.0.1:9000;
    }
    server {
        listen 80;
        location / {
            if ($geoip2_data_country_code = IS) {
                proxy_pass http://south;
            }
            proxy_pass http://north;
        }
    }
}

重點在if
網站發現你在iceland會將你導向127.0.0.1:8000
如果不再就導向127.0.0.1:9000

這題是在考網路層的概念:
https://ithelp.ithome.com.tw/upload/images/20261022/201848292QbSLaMuVh.jpg

這題有點歧視窮人,因為如果你有vpn將自己設成iceland的節點就可以拿到flag了
(有錢能使鬼推磨法

----以下是窮人方法----
我一開始想到的方法是用curl -x改標頭再做http連線假裝我試冰島用戶 但這個方法只是在第七層application做手腳而已

curl -H "X-Forwarded-For: 82.221.131.71" \
     -H "X-Real-IP: 82.221.131.71" \
     -H "Client-IP: 82.221.131.71" \
     -H "True-Client-IP: 82.221.131.71" \
     http://cylabacademy.net<port>

網站會回傳No flag in this region!

->這題的Nginx伺服器配置了 ngx_http_geoip_module它不看標頭,它看跟你建立TCP連線的那個真實來源IP(即 $remote_addr)
因為Nginx根本不理會HTTP標頭裡的文字,所以你無論在-H後面塞什麼冰島IP,Nginx 看到的依然是你家裡的IP,因此會直接把你導向127.0.0.1:9000

這題檢查的是第四層transport我們變成得用tor或是vpn但我是個窮逼所以我們來講tor的方法:

請先在bash安裝tor這邊附上arch的安裝方式:
sudo pacman -S tor
載好後我們需要更改tor得設定:
sudo nano /etc/tor/torrc
滑到最下面加這兩行上去:

ExitNodes {is}
StrictNodes 0

這告訴tor優先選擇iceland的節點
如果要更決一點把0改成1強制使用冰島節點
然後重起tor:
sudo systemctl restart tor
在連上網站:
curl --socks5-hostname 127.0.0.1:9050 <port>

https://ithelp.ithome.com.tw/upload/images/20261022/20184829MQ8Govdvqj.png

關鍵比較

選項 DNS在哪解析 本地 ISP 能否看到你查的域名
--socks5 127.0.0.1:9050 本地解析成 IP,再把 IP 交给代理 能(DNS 泄露)
--socks5-hostname 127.0.0.1:9050 代理端解析,域名原样发给代理 不能

所以在語法上加hostname是避免DNS泄露,配合Tor使用才能形成完整的匿名

最後我把flag做base64給你們除非真的一直失敗不然挑戰看看這題吧:
YWNhZGVteXtnMzBfYjQ1M2RfcjB1NzFuOV8zZDliZTM4M30=

歡迎在下面友善提問或討論0u0


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言