티스토리 뷰
여섯번째 글.
이렇게 덩그러니 javscript challenge라고만 써져있다.
페이지 소스보기를 통해서 보면 이렇게 스크립트 부분이 알수없는 표정으로 난독화가 되어있다.
구글링 결과 'AAencode'라는 방식이 사용되었다.
복호화 사이트 : https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html
아니면 스크립트 맨 마지막 부분에서 ('_'); 이 표정을 지워주면 난독화가 풀린다.
(function anonymous(
) {
var enco='';
var enco2=126;
var enco3=33;
var ck=document.URL.substr(document.URL.indexOf('='));
for(i=1;i<122;i++){
enco=enco+String.fromCharCode(i,0);
}
function enco_(x){
return enco.charCodeAt(x);
}
if(ck=="="+String.fromCharCode(enco_(240))
+String.fromCharCode(enco_(220))
+String.fromCharCode(enco_(232))
+String.fromCharCode(enco_(192))
+String.fromCharCode(enco_(226))
+String.fromCharCode(enco_(200))
+String.fromCharCode(enco_(204))
+String.fromCharCode(enco_(222-2))
+String.fromCharCode(enco_(198))
+"~~~~~~"
+String.fromCharCode(enco2)
+String.fromCharCode(enco3)){
location.href="./"+ck.replace("=","")+".php";
}
})
크롬개발자도구를 통해 콘솔에서 ('_'); 을 지워줬더니 위처럼 정상적으로 스크립트가 출력되었다.
ck가 어떤 특정 문자열이면 ~.php통해 문제가 풀리는 것 같다.
* 참고로 fromCharCode(i,0)에서 0을 인자값으로 주면 null이 된다 따라서 출력될 때 '문자 (공백)'이 출력될 것이다.
<사용된 함수>
substr(start,end) : start위치부터 end 이전까지 문자열 반환
indexOf(index) : index를 검색하고 위치를 출력
String.fromCharCode(num) : UTF-16 코드 유닛의 시퀀스로부터 문자열을 생성해 반환 / 유효성 검사 따로 x
String.charCodeAt(index) : index에 해당하는 문자의 유니코드값을 반환
이렇게 필요한 부분만 console창에서 입력하여 ck 값을 확인 할 수 있었다.
이제 조건문에 해당하는 내용을 나타내보면
https://webhacking.kr/challenge/code-3/youaregod~~~~~~~!.php 이 될것이다.
'writeup > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] 33번 문제(old) (0) | 2020.08.07 |
---|---|
[Webhacking.kr] 32번 문제(old) (0) | 2020.08.06 |
[Webhacking.kr] 22번 문제(old) (0) | 2020.08.05 |
[Webhacking.kr] 21번 문제(old) (0) | 2020.08.04 |
[Webhacking.kr] 19번 문제(old) (0) | 2020.07.30 |
- Total
- Today
- Yesterday
- dreamhack CSS Injection
- alasql
- 드림핵
- dreamhack padding oracle
- Windows Fundamentals
- 드림핵 padding oracle
- dreamhack web-alasql
- 드림핵 Relative Path Overwrite
- SQL Injection
- LFI vulnerability
- dreamhack Relative Path Overwrite
- wargame
- CSS Injection
- WebHacking
- 해커팩토리
- webhacking.kr
- php LFI
- Lord of SQL injection
- blind injection
- htb Windows Fundametals
- dreamhack DOM XSS
- 웹해킹
- xxe injection
- hackerfactory
- hack the box
- 드림핵 DOM XSS
- DreamHack
- csp
- htb
- csp bypass
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |