Bài Web 12: đây là bypass strcmp của php
Xem source code (
http://tlis.freevnn.com/web12/source.txt), ta thấy đoạn check flag như sau:
========================================================
<?php
if(isset($_POST['submit'])){
if(!strcmp($_POST['flag'], '<censored>')){
print("<p>This is flag: <censored></p>");
}else{
print("Wrong!!!");
}
}
?>
========================================================
Như vậy, tham số flag gửi lên sẽ được so sánh với flag thật, nếu giống nhau thì in ra flag. Suy đoán ta phải bypass strcmp. Search "php strcmp bypass", ta được bài sau
https://blog.0daylabs.com/2015/09/21/csaw-web-200-write-up/.
Theo hướng dẫn, ta chỉ cần gửi lên flag[]=xxx là được.
Sử dụng burp suite đặt làm proxy cho trình duyệt, chặn gói tin POST gửi flag lên, và ta sửa tham số từ flag=abcd thành flag[]=abcd:
Thì được flag: