Security 17

문자열 Patch

1. 문자열 버퍼를 직접 수정Dump 창에서 Ctrl + G로 수정하고자 하는 문자열 버퍼를 찾아 직접 수정. 반드시 NULL로 끝나야 할 것. 실행파일로 생성하기Dump 창에서 수정한 버퍼를 드래그한 후 마우스 오른쪽 클릭을 해서 Edit -> Copy to executable로 들어간다. 새로운 Dump 창에서 마우스 오른쪽 클릭을 한 후 Save file을 통해 새로운 실행 파일을 생성한다. 2. 임의의 메모리에 문자열 버퍼를 생성 후 이 곳을 참조하게 하기cf) PUSH 00000000 이런 OP Code는 직접 주소 참조가 되도록 바꿀 수 있다. 가령 PUSH 11111111 같은 걸로. 근데 PUSH DWORD PTR SS:[EBP+14] 같은 것은 PUSH 11111111으로 변경이 안되더라..

Security/Reversing 2016.02.13

원하는 함수 코드 찾는 법

원시적 방법 1. 무작정 F8을 연타2. 원하는 동작을 할 때까지 연타하다가 원하는 동작이 나오면 그 전의 OP Code에 F7을 이용해 진입3. 적당히 분석해본다. 장점 : 코드의 구조를 익히는 훈련이 될 수 있다.단점 : 시간이 오래 걸린다. 디버거가 분석해 놓은 Referenced Strings를 활용하는 방법 1. Code Window에서 마우스 오른쪽 클릭 -> Search For -> All referenced strings를 클릭.2. 여기에는 odb가 디버깅 전에 미리 분석해 놓은 참조된 문자열들을 표시해줌.3. All referenced strings Window에서 내가 찾고자 하는 함수가 가질 만한 문자열을 찾고 더블클릭으로 해당 OP Code로 넘어가 분석해 본다. 프로그램이 사용한..

Security/Reversing 2016.02.12

SQL Injection

1998년 이후 OWASP TOP 10에 언제나 속한 공격 기법.http://ko.wikipedia.org/wiki/OWASP 80번 포트만을 이용한 웹해킹 기법. 보통의 해킹기법들은 서버사이드 언어가 작동하는 서버나 데이터를 받는 클라이언트를 공격한다. 하지만 이는 관리자의 수준에 따라 방어가 가능하다. 하지만 SQL Injection은 DB를 공격하는 기법으로서 서버사이드 언어와 구분된 DB가 SQL Injection을 방어하는 것이 어렵운 점을 이용한 것이다. 이를 위해서 관리자는 서버사이드 수준에서 SQL Injectino을 방어해줘야한다. 쿼리(Query)질의어라고 표현되며 DBSM에 보내는 요청을 뜻한다. 쿼리 구문 중$login = "select * from user where id = '...

Security 2014.06.06

BOF 기초 **

커닝 http://research.hackerschool.org/Datas/Research_Lecture/overflow.txt http://geundi.tistory.com/118 ------------------------ 높은 메모리 주소 Stack ------------------------ Heap ------------------------ Data ------------------------ Text ------------------------ 낮은 메모리 주소 자 먼저 스택은 거꾸로 자란다. 즉, 변수에 메모리를 내어 줄 때 메모리의 높은 주소에서부터 메모리 낮은 주소로 메모리 할당. 단, 실제 메모리 대입 결과는 다르다. 아래서부터이다. 아래보고 이해. #include int a, b, ..

Security 2011.08.30
반응형