SQL注入2----(sql注入數據類型分類)

一.前言

本章節我們來講解一下sql注入的分類,主要分為四類,數字型、字符型、搜索型、xx型。

二.數字型

數字型注入的時候,是不需要考慮單\雙引號閉合問題的,因為sql語句中的數字是不需要用引號括起來的,如下

mysql> select username,email from member where id=1;

mysql> select username,email from member where id=1 or 1=1;

1 or 1=1 #

注入成功,看一下后臺代碼

這里并沒有加上引號,所以我們不需要加上引號。

注意:我們判斷是否為數字型注入,不是通過前端頁面上看到的數據是數字就判斷它是數字型注入,也 有可能是偽數字型,因為后臺處理的時候可能是將前端傳遞過來的數字通過引號括起來了,也就是作為 了字符串來處理,所以要多嘗試。

三.字符型

字符串類型的輸入方式

我們得先檢查phpstudy的魔術符號是否開啟了,這是phpstudy的一個安全機制,我們關閉它

xxx' or 1=1 #

這個我們前面看過源碼了,這里就不再看了。

四.搜索型

打開pikachu平臺,在SQL-Inject下選擇搜索型注入,然后隨意輸入一個字母,能看到匹配出了對應的信 息,也就是模糊搜索,用到了%通配符。按照SQL的模糊查詢命令 select * from 表名 where 字段名like '%(對應值)%'; ,發現可以按照之前的思路來實現萬能語句的拼接。

比如下面sql語句中的 like %vince% 的意思是:xxvincexx、vincexx、xxvince等數據都能匹配到。

%xxxx%' or 1=1 #

這個就也不給大家看源碼啦,因為和字符型都差不多啦,主要就是閉合括號啦。

五.xx型

XX型是由于SQL語句拼接方式不同,注入語句如下:

mysql> select * from member where username=('vince') ;

mysql> select * from member where username=('xx') or 1=1;

所以我們主要就是要左邊括號給閉合

XX') or 1=1#

六.總結

本章節講解了不同類型的sql注入,但是大家仔細發現就能知道,當然還有一個json類型的沒和大家介紹,這個其實都大差不差,主要是看里面的值是啥類型的啦!后面會持續更新,期待大家的點贊關注加收藏

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94406.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94406.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94406.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Elasticsearch Rails 實戰全指南(elasticsearch-rails / elasticsearch-model)

一、背景與生態總覽 elasticsearch-rails:面向 Rails 的“伴生庫”,為 Rails 項目帶來 Rake 任務、日志埋點、模板等特性。elasticsearch-model:把 ES 能力“混入”到 Ruby 模型(ActiveRecord/Mongoid),提供…

第三階段數據庫-2:數據庫中的sql語句

1_數據庫操作(1)注釋:-- 單行注釋 /**/ 多行注釋(2)創建數據庫:create database 數據庫名-- create database 數據庫名 create database db_first;(3)查詢數據庫:if exsists(select…

python中的filter函數

目錄 定義與參數說明 特點 使用場景 常用操作 篩選偶數 去除空字符串 篩選正數 篩選字典 配合集合與元組 注意事項 定義與參數說明 filter函數是Python內置的高階函數之一,用于篩選可迭代對象中的元素,根據返回值的布爾結果(True 或…

BERT(Bidirectional Encoder Representations from Transformers)模型詳解

一、BERT 簡介BERT(Bidirectional Encoder Representations from Transformers)是由 Google 在 2018 年提出的一種預訓練語言表示模型。它基于 Transformer 編碼器結構,首次提出了 雙向上下文建模 的方法,大幅度提升了自然語言處理…

【開題答辯全過程】以 基于Springboot+微信小程序的網上家教預約系統的設計與實現-開題為例,包含答辯的問題和答案

個人簡介:一名14年經驗的資深畢設內行人,語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧…

課小悅系列智能耳機上市,用硬核科技為教育賦能

在人工智能與教育深度融合的浪潮中,深圳課小悅科技有限公司以“智慧教育專家”的姿態嶄露頭角。這家深耕智能教育硬件的創新企業,于2025年8月正式推出革命性產品H360PRO系列教考耳機,為語言學習場景提供顛覆性解決方案。創新基因:…

[react] class Component and function Component

我對react的用法理解還一直停留在多年以前,說明這段時間我沒有更新react的知識。我大腦中記得還是使用Class Component this.setState,可是今天看了看react的文檔,發現怎么不一樣了,用的都是function useState的方式了。你知道這…

以太坊智能合約地址派生方式:EOA、CREATE 和 CREATE2

1. 引言 在以太坊上,智能合約可以通過以下三種方式之一進行部署: 1)由外部賬戶(Externally Owned Account, EOA)發起交易,其中 to 字段設為 null,而 data 字段包含合約的初始化代碼。2&#x…

基于RISC-V架構的國產MCU在eVTOL領域的應用研究與挑戰分析

摘要電動垂直起降飛行器(eVTOL)作為未來城市空中交通的重要組成部分,對嵌入式控制系統的性能、可靠性和安全性提出了極高的要求。RISC-V作為一種新興的開源指令集架構,為國產微控制器(MCU)的研發和應用帶來…

深度學習中的“集體智慧”:Dropout技術詳解——不僅是防止過擬合,更是模型集成的革命

引言:從“過擬合”的噩夢說起 在訓練深度學習模型時,我們最常遇到也最頭疼的問題就是過擬合(Overfitting)。 想象一下,你是一位正在備考的學生: 欠擬合:你根本沒學進去,所有題都做錯…

在JavaScript中,比較兩個數組是否有相同元素(交集)的常用方法

方法1:使用 some() includes()(適合小數組)function haveCommonElements(arr1, arr2) {return arr1.some(item > arr2.includes(item)); }// 使用示例 const arrA [1, 2, 3]; const arrB [3, 4, 5]; console.log(haveCommonElements(ar…

心路歷程-Linux的系統破解詳細解說

CentOS7系統密碼破解 密碼破解是分兩種情況的;一種是在系統的界面內,一種就是不在系統的頁面; 今天我們就來聊聊這個系統破解的話題; 1.為什么需要破解密碼?–>那當然是忘記了密碼;需從新設置密碼 2.但是…

IDE和AHCI硬盤模式有什么區別

IDE(Integrated Drive Electronics)和 AHCI(Advanced Host Controller Interface)是硬盤控制器的工作模式,主要區別在于性能、功能兼容性以及對現代存儲設備的支持程度。以下是詳細對比和分析:一、本質區別…

【密碼學實戰】密碼實現安全測試基礎篇 . KAT(已知答案測試)技術解析與實踐

KAT 測試技術解析 在密碼算法的安全性驗證體系中,Known Answer Test(KAT,已知答案測試)是一項基礎且關鍵的技術。它通過 “已知輸入 - 預期輸出” 的確定性驗證邏輯,為密碼算法實現的正確性、合規性提供核心保障&…

如何用Redis作為消息隊列

說明:以前背八股文,早就知道 Redis 可以作為消息隊列,本文介紹如何實現用 Redis 作為消息隊列。 介紹 這里直接介紹 yudao 框架中的實現。yudao 是一套現成的開源系統框架,里面集成了許多基礎功能,我們可以在這基礎上…

解決 uniapp 修改index.html文件不生效的問題

業務場景:需要在H5網站設置追蹤用戶行為(即埋點)的script代碼。 問題:無論如何修改根目錄下的index.html文件都不會生效 問題原因:在 manifest.json 文件中有個【web配置】—>【index.html模版路徑】,…

C語言第十一章內存在數據中的存儲

一.整數在內存中的存儲在計算機內存中,所有的數字都是以二進制來存儲的。整數也不例外,在計算機內存中,整數往往以補碼的形式來存儲數據。這是為什么呢?在早期計算機表示整數時,最高位為符號位。但是0卻有兩種表示形式…

K8s部署dashboard平臺和基本使用

Kubernetes 的默認 Dashboard 主要用于基本的資源查看與管理,如查看 Pod、Service 等資源的狀態,進行簡單的創建、刪除操作 。然而,在企業級復雜場景下,其功能顯得較為局限。 與之相比,開源的 Kubernetes Dashboard 增強版工具 ——Dashboard UI ,為用戶帶來了更強大的功…

JavaEE進階-文件操作與IO流核心指南

文章目錄JavaEE進階文件操作與IO流核心指南前言:為什么需要文件操作?一、java.io.File 類的基本用法1.1 文件路徑1.2 常用方法示例獲取文件信息創建和刪除文件目錄操作文件重命名和移動二、IO流的基本概念2.1 核心困境:字節流 vs. 字符流字節…

動手學深度學習03-線性神經網絡

動手學深度學習pytorch 參考地址:https://zh.d2l.ai/ 文章目錄動手學深度學習pytorch1-第03章-線性神經網絡1. 線性回歸1.1 什么是線性回歸?1.2 如何表示線性回歸的預測公式?2. 損失函數2.1 什么是損失函數?2.2 如何表示整個訓練集…