CTF-lottery[git文件泄露利用+PHP弱類型]


知識點:PHP弱類型

              .git文件泄露

玩攻防世界 遇到一個題lottery  進去看看  分析玩法

我們發現 進入登陸用戶都是初始值 金錢是20  彩票號碼必須輸入7位 然后看你輸入的彩票號碼有多少個重復。

 

 

然后我們還發現 flag是可以購買的只要你金錢夠。。。 這時間我們猜想可能他讓我彩票贏錢來獲取flag  一時思路是 暴力…  

 

 

 

 習慣拿到網站  先上AWVS 掃描 我們掃描出了.git

我們可以利用這個.git漏洞

 

 

首先我們來了解下.Git這個東西

Git信息泄露的危害很大,滲透測試人員、攻擊者,可直接從源碼獲取敏感配置信息(如:郵箱,數據庫),也可以進一步審計代碼,挖掘文件上傳、SQL注射等安全漏洞

 

 

需要的工具就是GitHack

獲取工具代碼:https://github.com/lijiejie/GitHack

GitHack是一個.git泄露利用腳本,通過泄露的.git文件夾下的文件,重建還原工程源代碼。
滲透測試人員、攻擊者,可以進一步審計代碼,挖掘:文件上傳,SQL注射等web安全漏洞。
## 工作原理 ##
* 解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
* 去.git/objects/ 文件夾下下載對應的文件
* zlib解壓文件,按原始的目錄結構寫入源代碼

## 用法示例 ##
    GitHack.py http://www.openssl.org/.git/

我們打開軟件直接可以獲取他的目錄結構源代碼

 

 

 

通過分析

 

 

通過這一段代碼分析我們注意89行 他有有個判斷 判斷我們輸入的值有多少個相等 有一個$same_count++一次。

我們再看下面代碼  如果有$same_count=2 則就給prize=5 prize就是我們的金錢  也就是說你兩個數值對上才給你獎勵5 我們看到最后要是7個都對上就獎勵5000000這樣我們就可以購買flag了  

 

 

先看點PHP弱類型小知識

PHP有兩種比較符號==與===

=== 在進行比較的時候,會先判斷兩種字符串的類型是否相等,再比較

== 在進行比較的時候,會先將字符串類型轉化成相同,再比較

 

 

上述php弱類型基礎引用 https://www.cnblogs.com/Mrsm1th/p/6745532.html

我們再回到上面的代碼分析  只要相等 那就是為真 這里是一個PHP弱類型比較 那么我們是不是可以構造這樣的語法 都為true  也就是7個true, true, true, true, true, true, true

 

 開啟抓包修改值

 

 

修改后

{"action":"buy","numbers":[true,true,true,true,true,true,true]}

 Forward

我們要多重復幾次這樣我們才能賺夠錢買

 

OJBK 直接購買flag

 

OK 完成

 

 

 


免責聲明!

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



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