Random-문제풀이

Random-문제풀이.gif
img_3459497_3424_8_garam1117.gif

1113856102_BGM-yih727-siseee.gif♬Mermaid Melody Pichi Pichi Pitch Ost♬

img_3459497_3424_8_garam1117.gif

이번 건 비교적

난이도가 나쁘지 않습니다.

아무튼 이젠 본인 사정상

이 공부 저장 게시글은

여기까지로로 해야겠습니다.

늦어도 최대 올해 안에

버그 바운티 해봐야겠습니다

상황이 나아질 기미가 안 보입니다.

ε-(´・`)

원치 않는 일로 평일 아르바이트로

시간, 몸 다 버릴 바에야

평일에는 버그 바운티

주말에 아르바이트해야

그나마 덜 억울하겠습니다.

-`д´-

아무튼 계속 이어 작성합니다.

(ㆁᴗㆁ✿)

aaW.png
000.png
스샷. 1
자 먼저 지문을 마이웨이
직역으로 보겠습니다
Daddy, teach me how to use random value in programming!

(아따 프로그래밍에서 임의의 값을 사용하는 법 좀 알려달랑께?)

001.png스샷. 2
그리고
ssh random@pwnable.kr -p2222
로 바로 접속합니다.
002.png
스샷. 3
먼저 파일 여부를 알아낸 다음
random.c 파일을 확인
해보겠습니다.
4바이트 의 랜덤 값과

입력값을 xor 연산을 해서

0xdeadbeef가 나오면
키값을 받는 프로그램입니다.
ANG? 랜덤 값이면 모든 경우의

수를 시도해 봐야 하는 건 아닌가?ōxō

수를 시도해 봐야 하는 건 아닌가?ōxō

로 생각할 수 있겠지만,
rand() 함수는 매번 바뀌는 시드 값을
주지 않으면 항상 일정한 값을
변환하게 됩니다. 이 일정하게 나오는
값을 알아내면 해답을 찾을 수 있습니다.

gdb를 통해 값을 추적해 봅시다.

003.png
스샷. 4
xor 연산을 하고,
0xdeadbeef

비교 연산을 하게 되는

eax의 값을 확인해

보면 될 것 같습니다.

004(死).png

스샷. 5

브레이크 포인트를 걸고

돌려서 0을 넣은 결과 eax에

0x6b8b4567

들어가 있는 것을 알 수 있습니다.

xor 0은 해도 값이 같게 나오기

때문에 rand()의 값은

0x6b8b4567 임을

알 수 있습니다.

즉 우리가 넣어야 할 값은

0xdeadbeef ^ 0x6b8b4567

통해서 찾을 수 있습니다.

자바로-헥스연산.png
스샷. 6 자바로 헥스연산
자바 프로그래밍으로
이 둘을 연산

결과 값은

0xB526FB88
10진수로-변환.png
스샷. 7
그리고 변환해주는

사이트로 가서 변환하면

3039230856
위와 같은 값이 출력
005.png
스샷. 8
출력된 값으로 입력하면
이렇게 키값을 획득
그리고 받아챙긴 키값을 가지고
006.png
스샷. 9
처음 화면으로 돌아와서
빈칸에 입력하고
auth 버튼을 누르면 됩니다.
007.png
미션 완료 동시에
1 포인트 받아 챙겨젔습니다.
008.png
그럼 다시 최초의 화면에
돌아 와보면 이렇게
완료되었다고 녹색
점선으로 표시가 됩니다.
긴 글을 보시느라 감사합니다.
수고하셨습니다(ㆁᴗㆁ✿)
좋은 하루 되시고 하시는 일 잘 되시고
날이 덥습니다 더위 먹지 않게 유의하시고
코로나 조심하세요 🙂
aaW.png
오늘도_좋은_하루.png

#pwnable_kr,#pwnablekr,#웹해킹,#해킹,#실습,#random,#Random,
#모의해킹,#나오마리오타프라데이리,#ōxō,#oxo,#콧코로,
#콩코로,#콩,#콩진호,#홍진호,#kokkoro,#コッコロ,#어_왜_두번_써지지,
#피치피치핏치 ,#Mermaid_Melody,#네오아카데미,#ぴちぴちピッチ,#코로나