일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- EC2
- 개발자
- AWS
- 리눅스공부
- 트랜잭션
- 자바
- 공부
- 오라클
- 데이터베이스
- 쿼리
- 명령어
- 개발방법론
- 컴퓨터
- 시스템프로그래밍
- CS
- 개발공부
- dbms
- sql
- Database
- 리눅스
- DB
- 데브옵스
- 쿼리최적화
- TDD
- JDBC
- 서버
- jdbc programming
- 데이터베이스프로그래밍
- 클라우드네이티브
- 클라우드
Archives
- Today
- Total
개발 블로그
Suninatas(써니나타스) challenge 5 / Web 본문
아무 값이나 쓰고 Check 버튼을 눌러봤지만 아무 일도 일어나지 않는다. 개발자 도구로 코드를 보았더니 script 부분이 아래와 같이 복잡했다. 난독화가 되어있는 것 같다.
*자바스크립트는 클라이언트 측에서 실행되는 언어이기 때문에 클라이언트가 해당 스크립트를 볼 수 있다. 이를 방지하기 위해 난독화를 실행한다. 난독화 방법은 다양함
<script>
eval(function(p,a,c,k,e,r){
e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){
while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};
c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}
('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',
\'d\',\'e\',\'f\');p q(n){g h=\'\';g j=r;s(g i=t;i>0;){i-=4;g k=(n>>i)&u;v(!j||k!=0){
j=w;h+=l[k]}}x(h==\'\'?\'0\':h)}',34,34,'||||||||||||||||var|result||start|digit|digitArray
|new||Array|function|PASS|true|for|32|0xf|if|false|return'.split('|'),0,{}))
</script>
packing이 되어있으므로 unpacking 해주는 사이트를 통해 난독화된 코드를 원래 코드로 바꿔줄 수 있다.
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라는 함수가 정의되어 있다.
또 코드에 나와있는 힌트는 <!--Hint : 12342046413275659 --> 였다. 이 값을 PASS 함수의 인자로 넘겨주면 될 것 같아서 콘솔창에 입력해보았더니
result 값이 9c43c20c라는 값으로 나왔다. 이것을 입력하고 Check 버튼을 눌렀더니 Authkey가 떴다.
'해킹 및 보안 > Suninatas' 카테고리의 다른 글
SuNiNaTaS(써니나타스) Challenge 8 / Web (0) | 2022.09.08 |
---|---|
Suninatas(써니나타스) challenge4 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge3 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge 2 / Web (0) | 2022.08.22 |
Suninatas(써니나타스) challenge 1/Web (0) | 2022.08.22 |