전체 글

Security/Web

XSS(Cross Site Script)공격 기법과 보안 대책

1. XSS란 XSS는 Cross Site Script의 약자로 원래라면 CSS가 맞지만 CSS(Cascading Style Sheets)는 웹사이트에 표현되는 방법을 정해주는 스타일 시트 언어로 사용되기 때문에 XSS로 불리게 되었다.웹 서비스에 Javascript 등 스크립트를 실행할 수 있는 코드를 삽입하여 다른 사용자 등에게 공격자가 의도한 스크립트를 실행하게 하는 공격 방법이다. XSS는 유연성이 높아 특이한 부분에서 취약점이 발생하거나 생각지도 못한 기능과 연계되어 취약점이 발생하는 경우도 많다.ex)1. 상장, 이력서, 프린터 등 출력에서의 XSS2. 이미지 HEX값 내 스크립트 구문 삽입3. 메타데이터 내 스크립트 구문 삽입 2. XSS의 종류XSS의 종류는 크게 3개가 있다.Reflect..

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L09 풀이

CodeEngn Challenges Basic RCE L09 풀이과정입니다. 문제 실행결과 언패킹한 파일을 실행하면 구문의 글자들이 깨져서 나온다 확인해본 결과, 글자가 깨지는 이유는 아래와 같이 NOP으로 채워져있기 때문이다. 언패킹된 파일 중 앞부분 코드가 NOP 이유는 StolenByte가 적용되어있기 때문이다. StolenByte란? 코드의 일부를 OEP이전에 숨기고 그 코드들을 복사하여 다른 분리된 메모리에서 실행하기 때문에 OEP를 찾은 뒤 덤프를 떠도 정상적으로 실행되지 않는다. 보통 옮겨진 코드들은 OEP 주소로 점프하기 전 위치에서 PUSH 된다고 한다. 보통 UPX패킹은 PUSHAD ~ POPAD 명령어 내부에서 압축해제 코드가 실행 되고 POPAD 명령어 실행 후 JMP 명령어를 통해..

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L08 풀이

CodeEngn Challenges Basic RCE L08 풀이과정입니다. 문제 실행결과 PEview로 확인한 결과, 패킹 되어있음 언패킹 시도 OEP값 확인

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L07 풀이

CodeEngn Challenges Basic RCE L07 풀이과정입니다. 문제 실행결과 디버거 프로그램을 이용해 문자열에서 실행결과 문구 검색 조금 위의 코드를 확인한 결과 lstrcmpiA 함수를 호출함 lstrcmpiA 함수란? 문자열을 비교해주는 함수 L2C-5781EqfgEngn4562-ABEX을 넣었을때 알맞는 시리얼키라고 나옴 하지만 문제는 컴퓨터 C드라이브 이름이 CodeEngn일경우 문자열로 들어간 CodeEngn값은 어떤것으로 변환되는지를 확인하는 문제 좀 더 위의 코드를 보니 GetVolumeInformationA함수 호출 GetVolumeInformationA 함수란? 지정된 볼륨의 파일 시스템에 대한 정보를 검색 → return값은 windows windows로 반환된 값을 Co..

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L06 풀이

CodeEngn Challenges Basic RCE L06 풀이과정입니다. 문제 실행결과 PEID로 확인한 결과, 패킹되어있음 언패킹 시도 언패킹 성공 OEP값 확인 OEP란 Original Entry Point 약자로 패킹된 파일의 실제 프로그램 시작 부분이다. 시리얼 값 확인 OEP+Serial = 00401360AD46DFS547

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L05 풀이

CodeEngn Challenges Basic RCE L05 풀이과정입니다. 문제 실행결과 PEview로 확인해본 결과, 패킹되어있는것을 확인 upx를 통해 패킹된 파일 언패킹 언패킹 후 프로그램 등록키 확인

DevSecOps
DevSecOps