1、入侵時,一句話木馬圖片上傳不了,該怎麼辦啊??在管理員後台只能上傳正常圖片!偽裝的圖片上傳不了,求
......無語!我也遇到過這種情況!後來我抓包明小子上傳成功後去到那個目錄!發現他備份成功的所謂的ASA後綴根本沒有!。比如:我備份成2010-11-6.asa!可我入侵成功在shell看到的後綴是2010-11-6.asa。根本就沒.ASA。後來我又把備份名字改成aa.asp。他備份成功說是aa.asp.asa。除去.asa就是asp木馬了!可我再次打開的時候這次不是404.而是以圖片方式打開!說了這么多尼明白了吧
2、如何防止上傳圖片木馬
目前無組件上傳類都存在此類漏洞——即黑客利用「抓包嗅探偽造IP包,突破伺服器端對上傳文件名、路徑的判斷,巧妙上傳ASP、ASA、CGI、CDX、CER、ASPX類型的木馬。
防範方法:刪除後台管理中的恢復/備份資料庫功能。
檢查您的網頁是否有備份數據的功能..或者能把文件重新命名的功能.
數據備份建議使用絕對路徑.
黑客應該是先把網馬shell 改成jpg 然後上傳後.利用備份功能...改為asp.
通用防範上傳漏洞入侵秘笈:將伺服器端的組件改名
將FileSystemObject組件、WScript.Shell組件、Shell.Application組件改名,然後禁用Cmd.exe,就可以預防漏洞上傳攻擊。
3、如何在asp中防止圖片木馬上傳
對於ASP程序的網站,木馬注入最常見的方法之一就是上傳圖片木馬。那麼,如何防止圖片木馬上傳呢?利用下面的代碼,也許可以幫你實現。
const adTypeBinary=1
dim jpg(1):jpg(0)=CByte(&HFF;):jpg(1)=CByte(&HD8;)
dim bmp(1):bmp(0)=CByte(&H42;):bmp(1)=CByte(&H4D;)
dim png(3):png(0)=CByte(&H89;):png(1)=CByte(&H50;):png(2)=CByte(&H4E;):png(3)=CByte(&H47;)
dim
gif(5):gif(0)=CByte(&H47;):gif(1)=CByte(&H49;):gif(2)=CByte(&H46;):gif(3)=CByte(&H39;):gif(4)=CByte(&H38;):gif(5)=CByte(&H61;)
Response.Write CheckFileType(Server.MapPath("2.gif"))
function CheckFileType(filename)
on error resume next
CheckFileType=false
dim fstream,fileExt,stamp,i
fileExt=mid(filename,InStrRev(filename,".")+1)
set fstream=Server.createobject("ADODB.Stream")
fstream.Open
fstream.Type=adTypeBinary
fstream.LoadFromFile filename
fstream.position=0
select case fileExt
case "jpg","jpeg"
stamp=fstream.read(2)
for i=0 to 1
if ascB(MidB(stamp,i+1,1))=jpg(i) then CheckFileType=true else CheckFileType=false
next
case "gif"
stamp=fstream.read(6)
for i=0 to 5
if ascB(MidB(stamp,i+1,1))=gif(i) then CheckFileType=true else CheckFileType=false
next
case "png"
stamp=fstream.read(4)
for i=0 to 3
if ascB(MidB(stamp,i+1,1))=png(i) then CheckFileType=true else CheckFileType=false
next
case "bmp"
stamp=fstream.read(2)
for i=0 to 1
if ascB(MidB(stamp,i+1,1))=bmp(i) then CheckFileType=true else CheckFileType=false
next
end select
fstream.Close
set fseteam=nothing
if err.number<>0 then CheckFileType=false
end function
%>
4、c#判斷上傳文件是否是圖片,防止木馬上傳
可以安裝一些殺毒軟體在電腦上
如電腦管家一類的,然後一直保持開啟
這樣就可以預防病毒進入到電腦當中了
5、如何防止上傳特定圖片導致的入侵?
iis當年的一個漏洞,在win2000(大概)下任何類似xxx.asp的文件夾下的文件均可被當作asp文件運行。具體的記不太清了,大概就是這樣:某些網頁程序會生成以注冊用戶名為名的文件夾,並把許多與該用戶相關的文件放在此文件夾下。所以,注冊一個名為xxx.asp的用戶,然後把網頁木馬改為圖片格式作為頭像或空間背景上傳,找到上傳路徑,訪問一下就可以得到一個webshell了
求採納
6、上傳圖片如何防一句話木馬
你是網站防護人員還是玩滲透的
7、php 上傳文件但可以防圖片木馬
樓上的真厲害...包含PHP的就判斷是病毒...我也是服了....
圖片木馬只是外行人的稱呼,試問就算你上傳了一個病毒,可是它會自運行嗎?它運行的前提是必須經過事件機制觸發它才能運行。你用滑鼠雙機打開就是一個事件機制。
而web上所說的木馬其實是一個PHP或asp。。之類的文件,觸發它的前提是php解釋器執行該文件。
這里以apache為例,判斷用戶請求的頁面mine是php 就調用php去編譯執行該文件,如果是jpg就直接返回給用戶下載。
所以你只要判斷文件的後綴是否圖片格式(jpg,png,gif...)的就可以了,然後上傳成功就把它改名,最後再添加(.jpg,png,gif)的後綴
8、建站的時候如何設置可以防止給別人掛馬 帝國cms
應該好好檢查下網站程序有無隱藏後門 是否被經常篡改
核心的操作點在於伺服器端以及網站本身的安全設置,其方法包括但不限於以下幾種:
1:伺服器日誌的定期查看,主要看是否有可疑的針對網站頁面的訪問。
2:通過ftp查看網站文件的修改時間,看時間上是否有異常。
3:核查網站程序是否需要更新,如果有,可第一時間更新到最新版本。
4:如果網站使用第三方插件,請確認其來源,同時評估這些插件的安全性能。
5:修改建站程序重要的文件名稱,修改默認的後台登錄地址,防止黑客利用軟體自動掃描特定文件以獲取相應許可權。
6:將ftp,域名,空間,網站後台登錄的用戶名以及密碼設置得盡可能復雜,萬不可使用弱口令。
7:選擇口碑好,技術強的伺服器空間服務商如萬網。
8:如有可能,盡可能關閉不需要的埠,限制不必要的上傳功能。
9:伺服器端設置防火牆等,通常需要與空間服務商溝通,讓其代為設置。
建議找專業的安全公司來解決,國內也就Sinesafe和綠盟等安全公司 比較專業.
我們需要做的就是讓網站自身的安全性更高,防止黑客獲取我們網站相關的許可權。
9、C#判斷上傳文件是否是圖片,防止木馬上傳
/// <summary
/// 判斷文件是否為圖片
/// </summary
/// <param name="path"文件的完整路徑</param
/// <returns返回結果</returns
public Boolean IsImage(string path){try{System.Drawing.Image img = System.Drawing.Image.FromFile(path);
return true;}catch (Exception e){return false;}}方法二,判斷文件頭
/// <summary
/// 根據文件頭判斷上傳的文件類型
/// </summary
/// <param name="filePath"filePath是文件的完整路徑 </param
/// <returns返回true或false</returns
private bool IsPicture(string filePath){try{FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(fs);
string fileClass;
byte buffer;
buffer = reader.ReadByte();
fileClass = buffer.ToString();
buffer = reader.ReadByte();
fileClass += buffer.ToString();
reader.Close();
fs.Close();
//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar{return true;}else{return false;}}catch{return false;}}據說方法二針對常規修改的木馬有效,也就是直接修改擴展名的,比如把.asp改成.jpg這種。但是對於那種用工具生成的jpg木馬沒有效果。推薦大家用第一種好了。
10、.net 如何防止上傳圖片木馬
可以防止,第一種就是用文件頭的方式驗證,代碼如下:
private bool IsAllowedExtension(HttpPostedFile hifile)
{
bool result = false;
FileStream strFile = new FileStream(hifile.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
BinaryReader bReader = new BinaryReader(strFile);
string fileclass = "";
byte buffer;
try
{
buffer = bReader.ReadByte();
fileclass = buffer.ToString();
buffer = bReader.ReadByte();
fileclass += buffer.ToString();
}
catch
{
return false;
}
bReader.Close();
strFile.Close();
/*文件擴展名說明
*4946/104116 txt
*7173 gif
*255216 jpg
*13780 png
*6677 bmp
*239187 txt,aspx,asp,sql
*208207 xls.doc.ppt
*6063 xml
*6033 htm,html
*4742 js
*8075 xlsx,zip,pptx,mmap,zip
*8297 rar
*01 accdb,mdb
*/
//純圖片
String[] fileType = {
"7173", //gif
"255216", //jpg
"13780" //png
};
for (int i = 0; i < fileType.Length; i++)
{
if (fileclass == fileType[i])
{
result = true;
break;
}
}
Response.Write(fileclass);
return result;
}
protected void btnOk_Click(object sender, EventArgs e)
{
if (IsAllowedExtension(uFile.PostedFile))
{
Response.Write("<script>alert('OK')</script>");
}
}
第二種用文件流的方式驗證
/// <summary>
/// 驗證流
/// </summary>
/// <param name="UpFile">上傳控制項(HttpPostedFile 或 HtmlInputFile)</param>
/// <param name="_extensions">擴展名(數組)</param>
/// <param name="SavePath">保存路徑(絕對路徑)</param>
/// <param name="size">文件大小單位(KB)</param>
/// <param name="err">錯誤信息</param>
/// <param name="SourcePage">源頁面</param>
/// <returns>返回新文件名</returns>
public static string UpLoadFileImg(HtmlInputFile UpFile, string[] _extensions, string SavePath, int size,
out string err, System.Web.UI.Page SourcePage)
{
//鎖定頁面
SourcePage.Application.Lock();
string error = String.Empty;//錯誤信息
string Img = UpFile.PostedFile.FileName.Trim();//獲取文件名
string Exten = Path.GetExtension(UpFile.PostedFile.FileName).ToLower();//獲取文件的擴展名
bool IsExtension = false;//是否存在該擴展名
string FileType = UpFile.PostedFile.ContentType.ToLower();//獲取文件的類型
if (Img != "")
{
//判斷圖片擴展名和類型驗證
for (int i = 0; i < _extensions.Length; i++)
{
if (Exten == _extensions[i].ToString())
{
IsExtension = true;
break;
}
}
if (!IsExtension && (FileType != "image/gif" || FileType != "image/x-png" || FileType != "image/pjpeg"
|| FileType != "image/bmp"))
{
error = "對不起,您不能上傳該類型的文件!";
err = error;
return Img;
}
if (UpFile.PostedFile.ContentLength > (size * 1024))
{
error = "對不起,文件大小不能大於" + size + "KB!";
err = error;
return Img;
}
try
{
Img = DateTime.Now.Ticks + Exten;//重新給文件命名
//上傳文件
UpFile.PostedFile.SaveAs(SavePath + Img);
//最後一步高級驗證,圖片上傳後的操作,判斷是否存在危險
StreamReader sr = new StreamReader(SavePath + Img, Encoding.Default);
string strContent = sr.ReadToEnd();
sr.Close();
string str = "request|.getfolder|.createfolder|.deletefolder|.createdirectory|.deletedirectory|.saveas";
str+="|wscript.shell|script.encode|server.|.createobject|execute|activexobject|language=";
foreach (string s in str.Split('|'))
{
if (strContent.IndexOf(s) != -1)
{
File.Delete(SavePath + Img);
error = "對不起,該文件內容存在風險,禁止上傳!";
err = error;
return Img;
}
}
}
catch
{
error = "系統錯誤,上傳失敗!";
}
}
else
error = "對不起,請選擇要上傳的文件!";
//取消鎖定頁面
SourcePage.Application.UnLock();
err = error;
return Img;
}