2024/07/14 2

RTL and ROP

RTL(Return To Library)NX로 인해 셸코드를 사용할 수 없어졌다.그래서 아직 실행 권한이 있는코드 영역코드가 참조하는 라이브러리의 코드 영역을 이용하여 NX를 우회하여 공격하는 기법이 등장했다.위 두 영역에 공격자가 필요한 코드가 존재하면 -> 그 코드를 가져다가 사용.여기서 라이브러리를 사용하는 공격이 바로 "Return To Library(RTL)" 이다.이 기법에서 필요한 것들을 적어보면,해당 코드의 메모리 주소해당 코드의 호출 주소(PLT 주소 등)ret으로 끝나는 어셈블리 코드 조각.구하는 방법:ROPgadget 명령어 사용(정규 표현식으로 필터링 할 수 있음) 참고:system 함수로 rip가 이동할 때, 스택은 반드시 0x10단위로 정렬되어 있어야 한다는 것입니다. 이는 sy..

Hacking/Pwnable 2024.07.14

이벤트 핸들러 부착(Attaching an Event Handler)

이벤트 핸들러를 부착(?)하는 방법은 두 가지가 있다.이벤트 핸들러 부착하기Obtrusive Event Handlers (좋지 않은 방식)HTML 문서 내에 태그 안에 구체적으로 다는거.OK...function okayClick() {...}Attaching an Event Handler in JSJS 파일 안에서 붙이기.이러면 HTML 페이지에는 event handler가 하나도 안보일 수가 있음.그런데 그냥 달 수가 없음.var button1 = document.getElementById("ok"); // it's return null...button1.onclick = okayClick; 왜냐하면, 보통 js파일은 head다가 넣는게 정석이기 때문.헤드에서 js파일을 읽으면 아직 body가 로드되기..