sql注入實(shí)例 什么是sql注入?我們常見(jiàn)的提交方式有哪些?
什么是sql注入?我們常見(jiàn)的提交方式有哪些?感謝邀請(qǐng),針對(duì)你得問(wèn)題,我有以下回答,希望能解開(kāi)你的困惑。首先回答第一個(gè)問(wèn)題:什么是SQL 注入? 一般來(lái)說(shuō),黑客通過(guò)把惡意的sql語(yǔ)句插入到網(wǎng)站的表單提交
什么是sql注入?我們常見(jiàn)的提交方式有哪些?
感謝邀請(qǐng),針對(duì)你得問(wèn)題,我有以下回答,希望能解開(kāi)你的困惑。
首先回答第一個(gè)問(wèn)題:什么是SQL 注入?
一般來(lái)說(shuō),黑客通過(guò)把惡意的sql語(yǔ)句插入到網(wǎng)站的表單提交或者輸入域名請(qǐng)求的查詢(xún)語(yǔ)句,最終達(dá)到欺騙網(wǎng)站的服務(wù)器執(zhí)行惡意的sql語(yǔ)句,通過(guò)這些sql語(yǔ)句來(lái)獲取黑客他們自己想要的一些數(shù)據(jù)信息和用戶(hù)信息,也就是說(shuō)如果存在sql注入,那么就可以執(zhí)行sql語(yǔ)句的所有命令
那我延伸一個(gè)問(wèn)題:sql注入形成的原因是什么呢?
數(shù)據(jù)庫(kù)的屬于與網(wǎng)站的代碼未嚴(yán)格分離,當(dāng)一個(gè)黑客提交的參數(shù)數(shù)據(jù)未做充分的檢查和防御的話(huà),那么黑客的就會(huì)輸入惡意的sql命令,改變了原有的sql命令的語(yǔ)義,就會(huì)把黑客執(zhí)行的語(yǔ)句帶入到數(shù)據(jù)庫(kù)被執(zhí)行。
現(xiàn)在回答第二個(gè)問(wèn)題:我們常見(jiàn)的注入方式有哪些?
我們常見(jiàn)的提交方式就是GET和POST
首先是GET,get提交方式,比如說(shuō)你要查詢(xún)一個(gè)數(shù)據(jù),那么查詢(xún)的代碼就會(huì)出現(xiàn)在鏈接當(dāng)中,可以看見(jiàn)我們id=1,1就是我們搜索的內(nèi)容,出現(xiàn)了鏈接當(dāng)中,這種就是get。
第二個(gè)是Post提交方式是看不見(jiàn)的,需要我們利用工具去看見(jiàn),我們要用到hackbar這款瀏覽器插件
可以就可以這樣去提交,在這里我搜索了2,那么顯示的數(shù)據(jù)也就不同,這個(gè)就是數(shù)據(jù)庫(kù)的查詢(xún)功能,那么的話(huà),get提交比post的提交更具有危害性。
第二個(gè)是Post提交方式是看不見(jiàn)的,需要我們利用工具去看見(jiàn),我們要用到hackbar這款瀏覽器插件。
以上便是我的回答,希望對(duì)你有幫助。
SQL注入,get,post,cookie攻擊怎么實(shí)戰(zhàn)?
1. SQL注入。
說(shuō)白了就是無(wú)論你傳什么參數(shù)進(jìn)行Select,都會(huì)把數(shù)據(jù)庫(kù)中的數(shù)據(jù)查詢(xún)出來(lái)。比較常見(jiàn)的就是通過(guò)拼接SQL查詢(xún)條件,使查詢(xún)語(yǔ)句恒為true。
select * from t_user where name=? and password = ?
如果我們把password的值輸入 """" " or 1=1"", 這樣,后臺(tái)的程序在解析的時(shí)候,拼成的SQL語(yǔ)句,就變成了:
select * from t_user where name=? and password="" or 1=1
那么會(huì)引起無(wú)論用戶(hù)名傳入什么都會(huì)返回用戶(hù)信息。
SQL注入預(yù)防是寫(xiě)程序的碼農(nóng)最基本的要求,要說(shuō)實(shí)戰(zhàn)不妨搞一個(gè)用jsp搞一個(gè)登錄頁(yè)面,然后簡(jiǎn)單Jdbc訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),驗(yàn)證一下。
2. Get 、Post
如果前面那個(gè)SQL注入的登錄頁(yè)面搞定,那不妨在瀏覽器中右鍵"檢查",著重關(guān)注一下請(qǐng)求信息,分別把提交表單的方式修改為get、post看看報(bào)文信息。
3. Cookie
還是在上一步的基礎(chǔ)之上,著重觀察一下cookie中存放的信息。一般設(shè)計(jì)的時(shí)候不會(huì)放很敏感的信息。
稍微回答一下,若未回答到你心坎里,見(jiàn)諒。