일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- sql injection
- suninatas 풀이
- 백준 알고리즘
- xss game
- 자바스크립트
- 메소드
- element 조회
- jQuery
- xss game 풀이
- 함수
- property
- IF문
- github
- 사칙연산
- 배열
- 김성엽 대표님
- 포인터
- lord of sql injection
- document
- 조건문
- burp suite
- 백준 파이썬
- Pwndbg
- 파이썬
- blind sql injection
- 객체
- python
- htmlspecialchars
- window
- object
Archives
- Today
- Total
power-girl0-0
[ Web ] 5번 본문
728x90
[ 풀이 ]
5번문제는 key value 입력하도록 되어있다.
코드를 한 번 살펴보니, 아래와 같이 난독화되어 있는 것을 알 수 있다.
해당 코드를 아래 복호화 사이트에서 복호화해보자.
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)
}
복호화하니, PASS함수를 이용하여 return받는 것을 알 수 있다.
그럼 주어진 코드 중 힌트에 있는 값을 해당 PASS함수에 입력해보자.
PASS함수를 출력하기 위해, 해당 문제의 소스코드 중 초기화해주는 스크립트 코드를 참고하여, document.frm.password.value에 넣어보았다.
그 결과, 해당 password값이 출력된다.
해당 값을 check하여 내보내면, flag값이 출력된다.
728x90
'War game > suninatas' 카테고리의 다른 글
[ Web ] 8번 (0) | 2021.03.18 |
---|---|
[ Web ] 6번 (0) | 2021.03.18 |
[ Web ] 4번 (0) | 2021.03.18 |
[ Web ] 3번 (0) | 2021.03.18 |
[ Web ] 2번 (0) | 2021.03.18 |
Comments