본문 바로가기
728x90
반응형

운영체제명령어삽입4

운영체제 명령어 삽입 취약점을 이용한 Reverse Shell 공격 #1 NC(netcat) 기능 확인 #2 기능 확인 및 출력 코드 수정 #3 Reverse Shell 동작 원리 #4 운영체제 명령어 삽입 취약점을 이용한 Reverse Shell 접속 #5 telnet을 이용한 리버스 쉘 실행 #6 @Bee-Box 가상머신에서 소스 코드 확인 #7 보안 등급(security level)을 high로 변경 후 다시 공격 2021. 2. 7.
WebGoat Command Injection 실습 #1 @Attacker 가상머신에서 @WinXP 가상머신의 WebGoat으로 접속 http://winxp:8080/WebGoat 도움말을 제공하는 서비스 #2 내부 동작 유추 #3 공격 문자열 생성 #4 공격 #5 결과 확인 #6 소스코드 분석 #7 방어기법 불필요한 운영체제 명령어 실행을 제거 → 도움말 파일을 읽어서 제공하는 형태로 수정 입력값의 범위를 제한 → 도움말이 저장된 디렉터리에 해당 파일이 존재하는지 확인 후 처리 2021. 2. 7.
보안약점 진단 #1 01 public void do() throws Throwable { 02 String data = ""; 03 { 04 Socket socket = null; 05 BufferedReader readerBuffered = null; 06 InputStreamReader readerInputStream = null; 07 try { 08 socket = new Socket("host.example.org", 39544); 09 readerInputStream = new InputStreamReader(socket.getInputStream(), "UTF-8"); 10 readerBuffered = new BufferedReader(readerInputStream); 11 data = readerBuffe.. 2020. 7. 12.
Command Injection 방어 코드 1) test.jsp : OPTION의 value를 명령어가 아닌 코드로 수정 --- show File1.txt --- --- show Dir --- 2) TestController : 사용 가능한 운영체제 명령어를 화이트 리스트로 정의, 전달받은 코드에 해당하는 명령어만 실행String data = request.getParameter("data");String[] allowCommand = { "type", "dir" };try { data = allowCommand[Integer.parseInt(data)];} catch (NumberFormatException e) { buffer.append("허용되지 않은 요청입니다."); return buffer.toString();}if (data != n.. 2014. 11. 18.
728x90
반응형