CTF實驗吧 WEB專題 2

2021-08-31 18:51:32 字數 2451 閱讀 8374

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

題解

我們先單引號試一下發現報錯,所以基本存在注入,然後我們用空格會爆sqli detected!因此被過濾了,發現+還是%a0這些編碼都會報錯,所以只能用萬能空格替代/**/,然後測試是否含有flag表,接著測試是否含有flag列,然而並沒有什麼卵用,因為這貨竟然過濾了左右括號,無法用exists判斷flag表是否存在,同時由於左右括號不能用,為了讓判斷flag表存在的語句先執行變成了不可能,所以只能猜測存在flag表和flag列然後寫下命令

1'/**/union/**/select/**/flag/**/from/**/flag#

即可獲得flag

坑啊

題解

通過直接寫select flag from flag發現報錯資訊中少了select from估計是被過濾掉了,空格也被過濾了一些(基本所有可以代替空格的符號都被過濾了一遍),然後連續寫兩個selectselect會出現乙個select,基本可以斷定只過濾了乙個,然後寫下如下命令就可以獲得flag了

所以每乙個關鍵字重複一次,然後之間的空格打兩個就可以了

題解天下武功唯快不破,就是讓你用程式寫,在短時間裡面提交資料,我們通過抓包發現了flag屬性,手動交給這個頁面好像源**中會有提示少了key引數,所以我們寫python**得到資料提交上去就可以得到flag了,**如下

題解抓包,發現header中有乙個非常可疑的資料source=0,試著改為1,傳送,得到頁面後台處理源**,如下圖

通過源**我們發現,他會檢測cookies中有沒有getmein,然後判斷與md5加密後的結果是否一樣,如果一樣則可以得到flag。

這裡涉及到了md5解密,我個人會簡單的介紹一下其演算法加密步驟

md5加密

md5,sha1屬於一類加密演算法,他們先對給定的資料進行處理,必須滿足是512個位的倍數也就是64個位元組的倍數,而真實的處理是滿足模64個位元組為48個位元組,剩下的6個位元組表示資料的長度,這裡是資料位數的長度。然後將這些資料按照64個位元組分為若干組。

接下來他們是先以四個預設初始值為基礎,對第一組資料進行加密後形成另外四個資料,代替最開始的四個預設初始值,然後對第二組資料以得到的四個資料為基礎進行處理,又形成四個資料,然後就是重複,直到處理完所有組。

基本處理如下圖:

接下來就是偽造資料了,因為需要改變初始值

md5演算法的講解,在這個位址md5詳解

主要破解方法位址

對了構建的時候不能用\x00因為c++中\0表示字串結尾,所以我們用其他字元代替,啥都可以,只要填滿就可以了,因為第一組我們根本不用,但是我們傳送資料的時候要用\x00(還要記得用urlencode進行編碼一下)

通過這個得到乙個md5值就可以過了,如下圖:

給我老師的人工智慧教程打call!

CTF實驗吧 WEB專題 4

題解 通過看成step1.php的源 發現是通過vim編寫的,一般的vim編寫可能會產生遺留問題,就是乙個備份檔案.swp,但是直接用似乎不行,然後我們通過抓包,傳送資料發現step2.php中要提交給另外乙個submit.php檔案,試一試.submit.php.swp是不是存在,ok,發現源 接...

實驗吧CTF刷題記錄(web篇)

1.這個看起來有點簡單 手工檢測是否存在sql注入 使用sqlmap爆出當前資料庫my db 發現可能藏有key值的thiskey表 進一步爆出欄位k0y並得到key值。檢視原始碼發現有隱藏鏈結 index.txt 登陸語句 sql select user from php where user u...

實驗吧CTF練習題 WEB 貓抓老鼠解析

實驗吧web之貓抓老鼠 flag值 key wwwnsf0cus net 解題步驟 1.觀察題意,說是貓抓老鼠,catch!catch!catch!嘿嘿,不多說了,再說劇透了通過這句話判斷是讓我們來抓包,於是進入解題頁面 2.通過一些列的提交和查詢源 並沒有發現什麼問題,於是開啟burp進行抓包測試...