sql註入學習筆記(1)
把學習到的sql註入的一點知識記錄下來
更改默認的sqlmap脫庫保存的路徑 --output-dir F:\
Substr(字符串,起始位置,字符數) (初始為1不是0)
這裏有示例
https://www.1keydata.com/cn/sql/sql-substring.php
通常配合ascii函數判斷出字符的值ascii(substr((select database()),1,1))) > 100
二分法(又叫折半法)可以減少猜測的量
Length() 判斷長度
AND (length(database())) =
order by
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC
http://www.w3school.com.cn/sql/sql_orderby.asp
Limit(mysql)
LIMIT 子句可以被用於強制 SELECT 語句返回指定的記錄數。LIMIT 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。初始記錄行的偏移量是 0(而不是 1)
mysql下limit註入http://blog.csdn.net/cherrie007/article/details/76167822
Group_concat
語法:group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符‘])
http://blog.csdn.net/ys410900345/article/details/44828571看例子比較詳細
https://bbs.pediy.com/thread-218235.htm 這個是攻擊實例
mysql註釋符號
mysql:#(%23),-- (%2d%2d%20)【後面有個空格】,/**/
常用SQL註入字符
1 |
字符串運算符 |
‘or‘ |
|
2 |
多行註釋 |
/*...*/ |
|
3 |
加號,連接(在URL中等同於空格) |
+ |
|
4 |
單行註釋 |
#或-- |
|
5 |
雙管道(連接) |
|| |
|
6 |
通配符 |
% |
|
7 |
局部變量 |
@ |
|
8 |
全局變量 |
@@ |
|
9 |
時延 |
waitfor delay ‘00:00:10‘ |
|
10 |
字符串替代數字或數字替代字符串 |
|
|
|
|
|
|
一些常用函數
Variable/function Output
user() Current User
database() Current Database
version() Database Version
schema() Current Database
UUID() System UUID Key
current_user() Current User
system_user() Current System User
session_user() Session User
@@hostname Current Hostname
@@tmpdir Temporary Directory
@@datadir Data Directory
@@version Version of Database
@@basedir Base Directory
@@GLOBAL.have_symlink Check if symlink is Enabled or Disabled
@@GLOBAL.have_ssl Check if it SSL is available
union聯合查詢
union 需要前後的兩個sql語句的選擇列數要相同才可以
Union all與union 的區別是增加了去重的功能
兩個sql語句進行聯合操作時,當前一個語句選擇的內容為空,我們這裏就將後面的語句的內容顯示出來
sql註入學習筆記(1)