在做題時的一些總結
注釋:了解原理後便知道了- -無法使用的原因,是因為- -與後面的單引號連線在一起,無法形成有效的mysql語句1.單行注釋: - - ,mysql中#也可以 注意:瀏覽器url中#有特殊作用, 不一定能用
2.多行注釋: /* */
3.『- - + 』
注:+號在語句中變成了空格。用來和後面的單引號分隔開,將後面的語句注釋。
#後面直接根的就是注釋
– 第2個破折號後面至少跟乙個空格符
例如:假設後台sql查詢語句為:
select
*from
user
where username=』$user』 and password=』$pass』
構造payload:
username=renhe』=
'&password=renhe』=』
結果:select * from user where username=』renhe'
=' '
and password=』renhe』=
' '
username='renhe』返回false,0,之後0= '得到1
最後where 1 and 1
也可以直接payload: username= 『=』 & password= 『=』
可以看一下這道題
格式 select year, sum(profit) from sales group by year with rollup;
mariadb>
select username from member;
+----------+
| username |
+----------+
| vince |
| allen |
| kobe |
| grady |
| kevin |
| lucy |
| lili |
+----------+
7rows
inset
mariadb>
select username from member group
by username with rollup;+
----------+
| username |
+----------+
| allen |
| grady |
| kevin |
| kobe |
| lili |
| lucy |
| vince |
|null|+
----------+
8rows
inset
查詢最後一行 多了乙個null
mysql>
select password from users where
user
=' 'or1
=1union
select
'adsafs';+
----------------------------------+
| password |
+----------------------------------+
|5f4dcc3b5aa765d61d8327deb882cf99 |
| e99a18c428cb38d5f260853678922e03 |
|8d3533d75ae2c3966d7e0d4fcc69216b |
|0d107d09f5bbe40cade3de5c71e9e9b7 |
| adsafs |
+----------------------------------+
5rows
inset
最後一行
當對union select ,order by 都不存在注入可能時,可以考慮limit 後面的 procedure 和 into繼續學習~~~mysql預設可用的儲存過程只有 analyse (doc)
procedure analyse()函式是mysql內建的對mysql字段值進行統計分析後給出建議的字段型別。
procesure analyse(max_elements,max_memory)
max_elements
指定每列非重複值的最大值,當超過這個值的時候,mysql不會推薦enum型別。
max_memory
analyse()為每列找出所有非重複值所採用的最大記憶體大小
SQL注入學習筆記
sql注入漏洞是由於sql語句的呼叫方法不完善而產生的安全隱患。一旦應用中存在sql注入漏洞,就可能造成如下影響。值得注意的是,以下影響中攻擊者都能夠直接對伺服器實施主動攻擊,而不需要使用者參與。根據資料庫引擎的不同,通過sql注入攻擊還可能會達到下列效果。sql注入攻擊能夠以開發者意想不到的方式改...
sql注入學習筆記
1.什麼是sql注入 sql注入就是指web應用程式對使用者輸入的資料的合法性沒有判斷,前端傳入後端的引數帶有資料庫查詢的語句,攻擊者可以構造不同的sql語句來實現對資料庫的操作。2.sql注入原理 sql注入漏洞產生需要滿足以下兩個條件。引數使用者可控,前端傳給後端的引數內容是使用者可以控制的 引...
Sql 注入 學習筆記
先了解下crlf,crlf常用在分隔符之間,cr是carriage retum ascii 13,r lf是line feed ascii 10,n r n這兩個字元類似於回車是用於換行的,因此該漏洞可能會導致程式原有的語義被改變 如 def helloworld name open test a ...