Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- webhacking.kr
- 피들러
- 파이썬챌린지
- Linux
- 쏙쏙캠프
- 석문초등학교
- SuNiNaTas
- 웹해킹
- FTZ
- 해커스쿨
- 실습문제
- C언어
- 써니나타스
- hackerschool
- Web
- 자바
- 웹
- setCookie
- 파이썬
- 리버싱
- 리눅스
- html5
- java
- ARP Redirect
- C
- 암호수학
- pythonchallenge
- 대외활동
- 명품자바프로그래밍
- 경기대학교
Archives
- Today
- Total
Hongfluenza
[SuNiNaTas] 05번 문제 본문
써니나타스 5번 문제이다. 너무 볼 것이 없어서 페이지 소스를 보았다.
핵심이 될 만한 코드는 이 함수였다. eval(function(p,a,c,k,e,r) 이 부분을 알기 위해 구글링을 한 결과, 자바스크립트 난독화가 되어있었다는 것을 알게 됐다.
간단한 자바스크립트 난독화를 해제해주는 사이트도 많았다. https://www.strictly-software.com/unpack-javascript 이 사이트를 통해서 해제 해보았다.
소스코드에서 힌트가 될 만한 내용은 다음과 같다.
atom을 이용해 다음과 같은 코드에 alert(PASS(12342046413275659)) 를 추가시켜 실행해보았다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <!<!DOCTYPE html> <html> <body> <script> var digitArray = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); function PASS(n) { var result = ''; var start = true; for (var i = 32; i > 0;) { i -= 4; var digit = (n >> i) & 0xf; if (!start || digit != 0) { start = false; result += digitArray[digit] } } return (result == '' ? '0': result) } alert(PASS(12342046413275659)) </script> </body> </html> | cs |
코드는 다음과 같다.
'CHALLENGE > SuNiNaTaS' 카테고리의 다른 글
[SuNiNaTaS] 07번 문제 (0) | 2019.08.05 |
---|---|
[SuNiNaTaS] 06번 문제 (0) | 2018.11.09 |
[SuNiNaTas] 04번 문제 (0) | 2018.10.26 |
[SuNiNaTas] 03번 문제 (0) | 2018.10.26 |
[SuNiNaTas] 02번 문제 (0) | 2018.10.08 |