보안/악성코드
[CodeEngn] Basic RCE L15 보고서
Seongjun_You
2022. 11. 8. 02:29
L14번과 비슷한 문제이다.
아이디 패스워드를 맞추는 프로그램이다.
델파이로 작성된 프로그램이다.
먼저 분기문을 찾아주었다.
EAX와 0x45B844의 데이터를 비교한다. 0x45B844에는 0x6160의 데이터가 들어가있다.
0x407774에 비밀번호를 설정하는 루틴이 존재하는것을 알 수 있다.
ret값을 0x6160으로 만들어주면 된다.
비밀번호를 설정하는 핵심 코드이다.
해당 부분을 파이썬 코드로 만들어 브루트포싱으로 비밀번호를 찾아준다.
for b in range(0,10):
for i in range(0,10):
for j in range(0,10):
for k in range(0,10):
for m in range(0,10):
temp = b
temp = temp + temp * 4
temp = temp + temp
temp = temp + i
temp = temp + temp * 4
temp = temp + temp
temp = temp + j
temp = temp + temp * 4
temp = temp + temp
temp = temp + k
temp = temp + temp * 4
temp = temp + temp
temp = temp + m
if temp == 0x6160:
print(b,i,j,k,m)
출력값이 2 4 9 2 8이 나온다.
성공한 문자열이 나온다.