❶ SQL注入步驟和常用函數以及中文處理方法
第一節 SQL注入的一般步驟 首先 判斷環境 尋找注入點 判斷資料庫類型 這在入門篇已經講過了 其次 根據注入參數類型 在腦海中重構SQL語句的原貌 按參數類型主要分為下面三種 (A)ID= 這類注入的參數是數字型 SQL語句原貌大致如下 Select * from 表名 where 欄位= 注入的參數為ID= And [查詢條件] 即是生成語句 Select * from 表名 where 欄位= And [查詢條件](B) Class=連續劇 這類注入的參數是字元型 SQL語句原貌大致概如下 Select * from 表名 where 欄位= 連續劇 注入的參數為Class=連續劇 and [查詢條件] and = 即是生成語句 Select * from 表名 where 欄位= 連續劇 and [查詢條件] and = (C) 搜索時沒過濾參數的 如keyword=關鍵字 SQL語句原貌大致如下 Select * from 表名 where 欄位like %關鍵字% 注入的參數為keyword= and [查詢條件] and % = 即是生成語句 Select * from 表名 where欄位like % and [查詢條件] and % = % 接著 將查詢條件替換成SQL語句 猜解表名 例如 ID= And (Select Count(*) from Admin)>= 如果頁面就與ID= 的相同 說明附加條件成立 即表Admin存在 反之 即不存在(請牢記這種方法) 如此循環 直至猜到表名為止 表名猜出來後 將Count(*)替換成Count(欄位名) 用同樣的原理猜解欄位名 有人會說 這里有一些偶然的成分 如果表名起得很復雜沒規律的 那根本就沒得玩下去了 說得很對 這世界根本就不存在 %成功的黑客技術 蒼蠅不叮無縫的蛋 無論多技術多高深的黑客 都是因為別人的程序寫得不嚴密或使用者保密意識不夠 才有得下手 有點跑題了 話說回來 對於SQLServer的庫 還是有辦法讓程序告訴我們表名及欄位名的 我們在高級篇中會做介紹 最後 在表名和列名猜解成功後 再使用SQL語句 得出欄位的值 下面介紹一種最常用的方法-Ascii逐字解碼法 雖然這種方法速度很慢 但肯定是可行的方法 我們舉個例子 已知表Admin中存在username欄位 首先 我們取第一條記錄 測試長度 ?id= and (select top len(username) from Admin)> 先說明原理 如果top 的username長度大於 則條件成立 接著就是> > > 這樣測試下去 一直到條件不成立為止 比如> 成立 > 不成立 就是len(username)= 當然沒人會笨得從 一個個測試 怎麼樣才比較快就看各自發揮了 在得到username的長度後 用mid(username N )截取第N位字元 再asc(mid(username N ))得到ASCII碼 比如 id= and (select top asc(mid(username )) from Admin)> 同樣也是用逐步縮小范圍的方法得到第 位字元的ASCII碼 注意的是英文和數字的ASCII碼在 之間 可以用折半法加速猜解 如果寫成程序測試 效率會有極大的提高 第二節 SQL注入常用函數 有SQL語言基礎的人 在SQL注入的時候成功率比不熟悉的人高很多 我們有必要提高一下自己的SQL水平 特別是一些常用的函數及命令 Access asc(字元)SQLServer unicode(字元)作用 返回某字元的ASCII碼Access chr(數字)SQLServer nchar(數字)作用 與asc相反 根據ASCII碼返回字元Access mid(字元串 N L)SQLServer substring(字元串 N L)作用 返回字元串從N個字元起長度為L的子字元串 即N到N+L之間的字元串Access abc(數字)SQLServer abc (數字)作用 返回數字的絕對值(在猜解漢字的時候會用到)Access A beeen B And CSQLServer A beeen B And C作用 判斷A是否界於B與C之間 第三節 中文處理方法 在注入中碰到中文字元是常有的事 有些人一碰到中文字元就想打退堂鼓了 其實只要對中文的編碼有所了解 中文恐懼症 很快可以克服 先說一點常識 Access中 中文的ASCII碼可能會出現負數 取出該負數後用abs()取絕對值 漢字字元不變 SQLServer中 中文的ASCII為正數 但由於是UNICODE的雙位編碼 不能用函數ascii()取得ASCII碼 必須用函數unicode ()返回unicode值 再用nchar函數取得對應的中文字元 了解了上面的兩點後 是不是覺得中文猜解其實也跟英文差不多呢?除了使用的函數要注意 猜解范圍大一點外 方法是沒什麼兩樣的 lishixin/Article/program/SQLServer/201311/22039
❷ 阿里雲漏洞報警「微擎帳號管理SQL注入」,可以忽略嗎
基本可以忽略。我的網站伺服器,天天都收到一堆阿里雲的報警提示,有時候半夜也發。煩不勝煩。
網站基本上都沒有不存在漏洞的,絕對安全的網站都沒有。給你發這些信息最主要的是想讓你購買他們的服務或者安全軟體或者修補差價。
❸ 阿里雲雲資料庫rds版怎麼設置配置文件(阿里雲資料庫rds怎麼使用)
RDS是阿里雲提供的即開即用的關系型資料庫服務,兼容了MySQL和SQLServer兩種資料庫引擎。在傳統資料庫的基礎上,阿里雲RDS提供了強大豐富的功能從而保證了高可用性、高安全性以及高性能。此外,RDS還提供了諸多便利功薯寬能提升了RDS的易用性。
高可用:
採用主從熱備的架構。主機down機或者出現故障後,備機秒級完成無縫切換,服務可用性承諾:99.95%
提供自動多重備份的機制。用戶可以數物亮自行選擇備份周期,也可以根據自身業務特點隨時進行臨時備份,數據可靠性承諾:99.9999%
數據回溯到任意時間點。用戶可以選擇7天內的任意時間點創建一個臨時實例,臨時實例生成後驗證數據無誤,即可將數據遷移到RDS實例,從而完成數據回溯操作。
高安全
提供白名單訪問策略。可自行設置允許訪問的IP及IP段,有效防止黑客掃描埠進行伺服器攻螞搭擊。
提供閾值報警的功能。支持實例鎖定報警、連接數報警、IOPS報警、磁碟空間使用報警、CPU報警等。
提供SQL注入告警。將對發往RDS的疑似SQL注入的語句進行記錄並展示,供用戶進行程序調整,杜絕SQL注入的發生。
SQL審計。記錄所有發往RDS的SQL語句,系統將記錄SQL語句相關的連接IP、訪問資料庫的名稱、執行語句的賬號、執行時間、返回記錄數等信息。供用戶對RDS安全性進行排查。
控制台操作日誌。記錄所有在控制台上進行的修改類操作,便於管理員查看並管理RDS。