apache特性繞過雲鎖sql注入防護
原諒我比較懶,不想上傳圖片了,直接用sss的圖片
我的測試代碼:
<?phpn$db_host = localhost;n$db_user = root;n$db_pass = root;n$id = $_REQUEST[sql];n n$link = mysql_connect($db_host, $db_user, $db_pass) or die("DB Connect Error:" . mysql_error());nmysql_select_db(test, $link) or die("Cant use sqlinject:" . mysql_error());n$sql = "SELECT * FROM zr WHERE id=$id";n$query = mysql_query($sql) or die("Invalid Query:" . mysql_error());nwhile ($row = mysql_fetch_array($query))n{n echo "用戶ID:" . $row[Id] . "<br>";n echo "用戶賬號:" . $row[user] . "<br>";n echo "用戶密碼:" . $row[pass] . "<br>";n} nmysql_close($link);n necho "當前查詢語句:".$sql."<br>";n?>n
1.apache在php使用request的情況下會先接受POST參數進行傳值,如圖:
echo $_request[sql];n
此時,我get的sql=666,post的a=777,頁面會列印出666而不是777
3.那麼重點來了,雲鎖有個特性,他會先檢測POSt,一旦post有參數,會放棄對get的檢測,而我們一旦在post參數處填入a=1,而get欄填入sql注入代碼,雲鎖檢測post發現沒有可疑代碼,就會被pass掉
麻煩各位 能看了就看,不能看了別噴我 O(∩_∩)O謝謝
還有就是別問這是apache的錯還是雲鎖的過,麻煩各位搞清楚關鍵點,OK?
關鍵點是,一旦雲鎖POST有參數對GET放棄檢測,關apache毛事情啊
推薦閱讀:
※三星手機瀏覽器被曝同源策略繞過漏洞,影響三億設備
※<黑客手機>oneplus3T windows平台下刷黑手細節
※iphone5被偷了,在不刷機的前提下,小偷是怎麼破解了開機密碼的?
※「洞察合天,金石為開」-GoldStone神秘面紗輕啟!