Hack
-
SQL Injection 기초Hack/Web 2015. 2. 25. 21:26
SELECT * FROM users WHERE login = 'victor' AND password = '123' 취약한 코드이다. users테이블에서 각각 컬럼을 뽑아와서 로그인하는 쿼리이다. id와 pw 폼이 존재할것이다 id에 victorpw에 123을 입력한 쿼리가 저 위의 쿼리이다. 우리가 1을넣는다면 SELECT * FROM users WHERE login = '1' AND password = '1' 해당 쿼리가 전송될것이다. 이를 악용하여보자 id폼에 'or 1=1--pw에는 아무거나 넣어주자 그럼 쿼리는 아래와같이 된다. SELECT * FROM users WHERE login = ''or 1=1-- AND password = '123' 이렇게보면 이해가 잘안된다. 그럼 db에 들어갈때는 ..
-
Garbage CodeHack/Reversing 2015. 2. 25. 20:44
Garbage Code는 말그대로 쓰레기 코드이다. 리버싱하는데 리버서들에게 혼란을 주기위해 넣는 코드로, 아무의미없는 코드로 되어있다. push eaxpush ebxpush ecxpop ecxpop ebxpop eax 해당 코드는 아무의미없는 코드이다.단지 eax와 ebx, ecx값을 푸쉬하고 결국엔 다시 꺼내온다. 그냥 왔다갔다 시키는 코드인데, 이 사이에 mov 코드를 숨겨놓으면 리버서들은 더욱 힘들어진다. push eaxmov eax,0x18mov eax,ebxpush ebxxor eax, eaxmov ebx,ecxmov eax,ebxpush ecxmov ecx,0x37pop ecxpop ebxpop eax 첫번쨰 코드와 다른게없다 모든 레지스터들은 디폴트값을 가진다. 코드를 분석해보면 eax에 ..