最近在做我們學校平台的乙個題目的時候,突然發現了乙個新知識。。。。。可能我是菜雞吧,大佬們請忽視
這個知識點叫條件競爭。。。
條件競爭漏洞是一種伺服器端的漏洞,由於伺服器端在處理不同使用者的請求時是併發進行的,因此,如果併發處理不當或相關操作邏輯順序設計的不合理時,將會導致此類問題的發生。
簡單點理解就是在你要做一件事情的時候用很快的速度插了個隊並做了另外一件事,一旦這件事情有害就會導致嚴重後果!!!
這裡有篇文章還是講得很好的,可以參考一下:
下面是最近做的幾道題目
這乙個題目在前兩個題目繞過的基礎上
發現要繞過後台黑名單,但是我們知道黑名單一般都不安全,我們一般用白名單。。。。。
既然他說php字尾是黑名單,我們嘗試一下php的別名php1,php2….當一直試到phtml的時候,抓的包就有區別了,剛開始還不知道,這裡想幹啥,此處感謝駱駱大佬。讓我知道這叫條件競爭
於是有了下面的操作
抓包傳送到intruder模組開20執行緒不斷發包,然後寫乙個python指令碼不斷去訪問那個檔案,其實這個訪問也可以用bp完成。。。
下面是python指令碼:
import requests
url = '你的檔案路徑'
這一題給了三個提示,但是最後考的點還是條件競爭
首先的302這個問題最好的的解決方案就是抓包
抓包發現
然後訪問是乙個檔案的上傳頁面,輸入的內容與你傳送的內容一致。從url可以看得出來
於是隨便寫點東西上傳,當然你也可以寫一句話木馬。。。。
出現檔案路徑,而且改變檔案名字上傳檔案路徑還是一樣的,於是就嘗試訪問
出現too slow字樣。。。跟cumt的那一題的刪除很是類似了
然後我們就用bp把它跑出來,雖然最後的提示是指令碼,但是不想寫了,就直接用bp吧
最後得到flag。。。。
git與svn的區別 小結一下
1 git是分布式的,svn不是 這 是git和其它非分布式的版本控制系 統,例如svn,cvs等,最核心的區別。好處是跟其他同事不會有太多的衝突,自己寫的 放在自己電腦上,一段時間後再提交 合併,也可以不用聯網在本地提交 git並不是目前第乙個或唯一的分布式版本控制系統。還有一些系統,例如bitk...
小結一下在linux下軟體安裝的方法
一 rpm包安裝方式步驟 1 找到相應的軟體包,比如 soft.version.rpm 2 開啟乙個終端,su 成root 使用者 3 cd soft.version.rpm 所在的目錄 4 輸入 rpm ivh soft.version.rpm 二 deb 包安裝方式步驟 1 找到相應的軟體包,比...
一些避免競爭條件的例項
人們總是期望核心開發者確定和解決由核心控制路徑的交錯執行所引起的同步問題。但是,避免競爭條件是一項艱鉅的任務,因為這需要對核心的各個成分如何相互作用有乙個清楚的理解。為了直觀地認識核心內部到底是什麼樣子,需要提及前面博文中所定義同步技術的幾種典型應用場景。1 引用計數器 引用計數器廣泛地用在核心中以...