Succubus
-
Level18 (succubus -> nightmare)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:44
이번 문제의 키워드는 PLT입니다. 코드를 보면 RET에 strcpy의 주소를 넣어야 하는 것으로 보이네요! 하지만 memset으로 RET이후에 오는 4byte 까지 A로 초기화를 하게 됩니다. strcpy의 PLT를 이용하는 문제 인것 같지만 간단하게 strcpy을 이용한 간단한 문제 풀이로도 풀이가 됩니다. strcpy의 기본 형식은 아래와 같습니다. 해당 문제는 아래의 페이로드로 문제를 해결해 보려고 합니다. [system 주소] + [Dummy 4 byte] + ["/bin/sh 주소"] + [Dummy 32 byte] + [strcpy 주소 (실행 파일 RET)] + [Dummy 4 byte] + [ebp+8주소 (strcpy Dest)] + [buf 주소 (strcpy Source)] 위의 페..
-
Level17 (zombie_assassin -> succubus)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:43
소스코드가 좀 많이 길어졌습니다. DO -> GYE -> GUL -> YUT ->MO 순으로 함수를 호출해서 system(cmd) 를 이용하는 문제입니다. argv[1]에는 libc를 사용할 수 없고, RET 에는 DO 함수의 주소가 들어가야 합니다. 일단 RET를 DO함수 주소로 맞춰주면 아래와 같이 페이로드를 작성하면 됩니다. [Dummy 44 byte] + [DO 함수 주소 (프로그램 RET)] + [GYE 함수 주소 (DO 함수 RET)] + [GUL 함수 주소 (GYE 함수 RET)] + [YUT 함수 주소 (GUL 함수 RET)] + [MO 함수 주소 (YUT 함수 RET)] 의 형식으로 넣어야 할것 같습니다. 각 함수의 주소를 objdump를 이용해서 알아보겠습니다. DO : 0x080487..
-
[Lord of SQL_injection] #17 succubus$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:20
이문제는 preg의 취약점을 없앤 문제입니다. 싱글쿼터가 필터링 되기 때문에 우리가 los 를 처음할때 사용한 \(백슬래시)를 사용해 보겠습니다. ?id=\&pw= or 1# clear가 되는 이유를 다시 이야기 해보면 id를 닫는 싱글쿼터를 \로 인해서 닫는 역할이 아닌 문자열화가 되었기때문에 빨간색 사각형이 id의 값이 됩니다. 그래서 자연스럽게 or 1를 작성하고 뒤에 pw가 닫히는 싱글 쿼터가 잇기때문에 주석으로 지워준것 입니다.