SQL注入攻擊與防御(第一,二章)

算是系統(tǒng)的重新學(xué)一遍SQL了,把細(xì)節(jié)和運(yùn)用在熟悉一遍


注入原因: 缺少用戶輸入驗(yàn)證、數(shù)據(jù)和控制結(jié)構(gòu)混合在同一傳輸通道中

返回的錯(cuò)誤情況:1.錯(cuò)誤直接顯示在頁(yè)面上 ? ? ? ?2.將sql錯(cuò)誤隱藏在web源代碼中

? ? ?3.檢測(cè)到錯(cuò)誤時(shí)跳轉(zhuǎn)到另一個(gè)頁(yè)面 ? ?4.返回500或302 ? ?5.適當(dāng)處理錯(cuò)誤但返回一個(gè)通用的錯(cuò)誤頁(yè)面

四種數(shù)據(jù)庫(kù)的常見(jiàn)錯(cuò)誤和利用:

1.SqlServer

? ? 將id=1的1換成字符串的話,不加引號(hào)的字符串會(huì)被認(rèn)為是列名,從而返回找不到該列的錯(cuò)誤

? ? 還可以把字符串轉(zhuǎn)化為整數(shù)來(lái)產(chǎn)生錯(cuò)誤,.aspx?category=bikes' and 1=0/@@version;-- ? version作為一個(gè)除法會(huì)把它轉(zhuǎn)化為數(shù)字,但當(dāng)然轉(zhuǎn)化會(huì)失敗,失敗時(shí)會(huì)顯示出變量的內(nèi)容,version當(dāng)然也可以替換成別的。由此可以有一種注入,使用having和order by爆字段 ?舉例:bikes' having '1'='1 數(shù)據(jù)庫(kù)會(huì)要求group by和having一起使用并且返回當(dāng)前數(shù)據(jù)庫(kù)內(nèi)容的第一列。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,896評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 防御<待續(xù)>1、構(gòu)造動(dòng)態(tài)字符串動(dòng)態(tài)SQL語(yǔ)句是在執(zhí)行過(guò)程中構(gòu)造的,根據(jù)不同的條件產(chǎn)生不同的SQL語(yǔ)句。當(dāng)開(kāi)發(fā)人員在...
    plutoG7閱讀 1,181評(píng)論 1 4
  • 姓名:于川皓 學(xué)號(hào):16140210089 轉(zhuǎn)載自:https://baike.baidu.com/item/sq...
    道無(wú)涯_cc76閱讀 2,051評(píng)論 0 2
  • 剛?cè)氪髮W(xué)的時(shí)候,第一節(jié)課上就聽(tīng)聞了有師姐通過(guò)AIESEC這個(gè)社團(tuán),利用假期的時(shí)間去了坦桑尼亞做海外志愿者。當(dāng)...
    小嘉擎閱讀 332評(píng)論 0 0

友情鏈接更多精彩內(nèi)容