wargame.kr login_filtering

題目鏈接?wargame??


$id=mysql_real_escape_string(trim($_POST['id']));

$ps=mysql_real_escape_string(trim($_POST['ps']));

$row=mysql_fetch_array(mysql_query("select?*?from?user?where?id='$id'?and?ps=md5('$ps')"));

if(isset($row['id'])){

if($id=='guest'||$id=='blueh4g'){

echo"your?account?is?blocked";

}else{

echo"login?ok"."";

echo"Password?:?".$key;

}

題目可以查看源代碼如上,意思是說要在用戶密碼表里找到記錄,而且用戶名不能是guest和blueh4g 。剛開始以為是一條SQL注入題目,后來發(fā)現(xiàn)有mysql_real_escape_string 防護(hù)了。百思不得其解。難度是弱口令題目?

查看網(wǎng)頁源碼發(fā)現(xiàn)貼出了guest/guest 賬號密碼,但是PHP又限制了id 不能是guest 怎么辦?答案是填寫 GUEST和guest就可以過了。 原來MySQL查詢的= 是不區(qū)分大小寫的,本題考察的其實是MySQL。做個試驗吧:

mysql> select * from users where name="GUEST" and password = 'guest';

+-------+----------+

| name? | password |

+-------+----------+

| guest | guest? ? |

+-------+----------+

1 row in set (0.00 sec)

mysql> select * from users where name="Guest" and password = 'guest';

+-------+----------+

| name? | password |

+-------+----------+

| guest | guest? ? |

+-------+----------+

1 row in set (0.00 sec)

總結(jié):

1)做WEB題目第一點(diǎn)還是要看網(wǎng)頁本身源碼、還有包頭;很多時候注釋里會給提示。

2)MySQL 查詢不區(qū)分大小寫

3)mysql_real_escape_string 可以預(yù)防SQL注入,但是要注意編碼。寬字節(jié)繞過漏洞

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 語 句 功 能 數(shù)據(jù)操作 SELECT——從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列INSERT——向數(shù)據(jù)庫表添加新數(shù)據(jù)行DELE...
    戰(zhàn)敭閱讀 5,231評論 0 53
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 第1章 初涉MySQL 1.1 MySQL文件 (1)MySQL目錄結(jié)構(gòu) (2)MySQL配置向?qū)募ò惭b后配置...
    凜0_0閱讀 992評論 1 0
  • 點(diǎn)擊上方藍(lán)字關(guān)注 事情是這樣的。 北京時間2017年8月31日下午5時左右,朝陽區(qū)發(fā)生一起“惡性傷人”事件,一名成...
    被封號了莫名其妙閱讀 400評論 0 4
  • 1 其實,我心里很不喜歡小周。 當(dāng)然,他面試過了,說明這個人還不笨。我坐著沙發(fā)椅上,沖著他一臉的笑。 眼前的小周,...
    昕城閱讀 253評論 9 7

友情鏈接更多精彩內(nèi)容