最近總結了asp.net一些編寫時基本的容易犯得漏洞

來源:互聯網
上載者:User

1)Response.WriteFile();

這條語句用來將一個檔案直接寫入響應流,我們可能會用它顯示一個圖片或者顯示一個TXT檔案裡面的內容,等等,但我下面來舉個例子,看看這條語句可能會帶來的隱患:

1。建立一個Handler.ashx頁面

2。裡面寫入代碼

public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string r = context.Request["re"].ToString();
        context.Response.WriteFile(r);
    }
很簡單,就是通過一個傳值來顯示一個檔案的內容,這種用法其實挺常見,我們可以在另一個頁面掌一個image控制項,圖片地址為Handler.ashx?re=某個圖片地址,來顯示圖片,動態給image控制項載入圖片,但如果使用者直接存取“Handler.ashx?re='./Handler.ashx'”;你就慘了,這個頁面的原始碼就會被下載,如果這個頁面有重要東西的話,網站安全性就會有危機。

註:首先在Handler.ashx判斷傳值,要傳圖片,傳的值尾碼就是圖片類型,禁止其他類型,其次,少用Response.WriteFile。

2) xxs

這個不多說了,看起來時一個簡單漏洞,可每年都有大型網站曝這個東西出來,所以還是注意點好。

3) WebShell

上傳控制項,聽起來很常用,其實,有時候,它也會爆出漏洞,舉個例子,假如你提供一個上傳控制項允許使用者上傳頭像到伺服器硬碟:

FileUpload1.PostedFile.SaveAs(路徑);如果使用者通過url能夠看出你將要將檔案放到的檔案夾的相對路徑,而你又沒有檢查上傳的檔案的相互關聯類型資訊的話。使用者大可這樣:

1。建立一個頁面,添加

protected void Page_Load(object sender, EventArgs e)
    {
        System.IO.File.Delete(伺服器某個檔案的路徑); //就是說,使用者可以通過這個控制項上傳到伺服器任何自己寫的代碼,他可以做任何事情,是不是你會覺得很不安全啊,他可以刪除你的檔案,可以想辦法竊取你的資料庫,等等。
    }

2。使用者訪問http://你的網域名稱/那個上傳檔案夾的相對路徑/使用者剛才上傳的檔案名稱。這樣,使用者寫的代碼就得到執行了。

註:所以,記住首先判斷上傳的檔案的類型、尾碼;其次給伺服器的檔案及檔案夾設定許可權;

4)sql注入。

這個不說了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.