可是有的人說對(duì)PHP的站如果是GPC魔術(shù)轉(zhuǎn)換開啟,就會(huì)對(duì)特殊符號(hào)轉(zhuǎn)義,就徹底杜絕了PHP注入。 其實(shí)說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進(jìn)PHP的后臺(tái)。 其實(shí)GPC魔術(shù)轉(zhuǎn)換是否開啟對(duì)用萬能密碼進(jìn)后臺(tái)一點(diǎn)影響也沒有。如果你用這樣的萬能密碼'or'='or',當(dāng)然進(jìn)不去,理由是GPC開啟的時(shí)候單引號(hào)會(huì)被轉(zhuǎn)換。 PHP注入時(shí)我常用的萬能密碼是:'or 1=1/*. 那我們分析一下為什么這可以進(jìn)后臺(tái),如果sql語句這樣寫:"SELECT * FROM admin where name='".$_POST['name']."'and password='".$_POST['password']."'",那我們?cè)趲ぬ?hào)處輸入萬能密碼'or 1=1/*,密碼隨便輸,sql語句就成了select * from admin where name='’or 1=1/*' and password='任意字符'。 /*為mysql的注釋符,這樣后面的東西就都被注釋掉了,也就是為什么密碼隨便輸?shù)脑颉? 假設(shè)GPC轉(zhuǎn)換沒有開啟,那么請(qǐng)看:where name='’or 1=1(*/后面的東西被注釋掉了),name='’的邏輯值為假,而后面的1=1邏輯值則為真,對(duì)于整體就成了假 or 真,最終的邏輯值 還是真,就進(jìn)后臺(tái)了。 那么如果GPC轉(zhuǎn)換開啟了,就對(duì)單引號(hào)進(jìn)行了轉(zhuǎn)換。語句就變成了where name='\’or 1=1,在看一下和剛才有什么區(qū)別,無非是多了個(gè)\。name='\'與name=''的邏輯值一樣,都為假,那1=1為真,總的sql語句的邏輯值不還是真嗎?那有進(jìn)不去后臺(tái)的理由嗎? 所以總的來說,php網(wǎng)站的萬能密碼可以這樣寫:'or 1=1/*,而GPC轉(zhuǎn)換是否開啟對(duì)它沒有任何影響! 所以請(qǐng)改變你的想法:存在字符型注入的php網(wǎng)站是可以用萬能密碼'or 1=1/*的 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信