1. 程式人生 > >sql註入學習筆記(1)

sql註入學習筆記(1)

筆記 err variable 兩個 sch 二分法 當前 dir 返回

把學習到的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)