SYSTEM HACKING/EMBEDDED
[Firmware] 펌웨어 추출 - ASUS 공유기
보호되어 있는 글입니다.
SYSTEM HACKING/EMBEDDED
[Firmware] 펌웨어 추출 - ASUS 공유기
보호되어 있는 글입니다.
War Games/dreamhack
dreamhack 문제 배포
보호되어 있는 글입니다.
War Games/webhacking.kr
[webhacking.kr] old-13 Write-Up
webhacking.kr old-13 Write-Up 01. 문제 분석 SQL Injection 문제인 것 같고, 플래그를 얻어내는 것이 목표인 것 같습니다. 기본적으로 필터링을 진행하는 것 같고, 필터링에 걸리는 것이 없는 경우 결과를 리턴해줍니다. 02. Solution 이번 문제도 아는 것이 아무것도 없기 때문에 old-2 문제처럼 table, column까지 알아내야 합니다. 그 전에 필터링부터 알아내도록 하겠습니다. 아래는 어느정도 알아낸 필터링이다. " "(공백), %0D, %09, %0C, %0A, %0B =, *, where, group_concat, union, like, ascii, where, group, limit (대소문자 바꾸기 안먹힘) 필터링을 고려하여 쿼리를 짜고, 원하는 값..
War Games/webhacking.kr
[webhacking.kr] old-12 Write-Up
webhacking.kr old-12 Write-Up 01. 문제 분석 그렇다고 한다. 코드를 확인하도록 하자. 음.. 우선 딱봐도 javascript obfuscation인 것을 확인할 수 있다. 02. Solution 느낌상 jsfuck같은 류에서 custom으로 바꾼 것 같았다. 그래서 좀 찾아보니... https://utf-8.jp/public/aaencode.html aaencode - Encode any JavaScript program to Japanese style emoticons (^_^) aaencode demo aaencode - Encode any JavaScript program to Japanese style emoticons (^_^) Enter JavaScript sourc..
War Games/webhacking.kr
[webhacking.kr] old-11 Write-Up
webhacking.kr old-11 Write-Up 01. 문제 분석 소스코드를 봐야 할 것 같다. view-source 소스코드는 비교적 간단하게 작성되어있다. GET형식으로 'val'을 입력받고, $pat에 설정되어있는 값들과 match를 이루어야만 문제를 풀 수 있습니다. 정규식을 분석해보도록 하겠습니다. [1-3][a-f]{5} : [1-3]은 1, 2, 3중 하나, [a-f]는 a,b,c,d,e,f 중 하나, 그리고 {5}는 앞 조건의 갯수이다. ex) 1abcde, 3aaaaa 등이 위 정규식에 해당됨 _ : 말그대로 "_" .* : any character라는 뜻. 아무런 문자가 삽입되어도 상관없음 $_SERVER[REMOTE_ADDR] : (정규표현식 아님) PHP 변수 선언으로, 본인의..
War Games/webhacking.kr
[webhacking.kr] old-10 Write-Up
webhacking.kr old-10 Write-Up 01. 문제분석 문제에 접속하면 다음과 같은 창이 나온다. 뭔가 해서 소스코드를 보니, 클릭할 때 마다 1px씩 움직이도록 되어있다. 조금 더 보기 좋게 소스코드를 가져오면 다음과 같다. O click시(onclick) 1px씩 오른쪽으로 움직이고, 해당 style의 left가 딱 1600px일 경우 문제가 풀린다. 02. Solution 본 문제의 취약점은 왼쪽의 O가 움직이는 걸 클라이언트 단에서 관리한다는 점이다. 크게 두 가지 방법을 생각했다. 먼저 this.style.left가 1600px일 경우 `this.href='?go='+this.style.left`로 옮겨간다. 그러면 애초에 `webhacking.kr/challenge/code-1/..
War Games/webhacking.kr
[webhacking.kr] old-9 Write-Up
webhacking.kr old-9 Write-Up 01. 문제분석 index 페이지다. no에 값에 대한 페이지들을 좀 봐야할 것 같다. 각각 큰 내용은 없다. 다만 no=3 페이지의 경우, column은 id, no로 2개이고, no3의 id가 password라고 한다. 이걸 기반으로 보았을 때, 본 문제의 테이블은 다음과 같이 예상된다. no id 1 Apple 2 Banana 3 [password] .. .. 즉, 어딘가에서 SQL Injection 취약점이 발생할 것 같다는 생각을 했다. 기존의 no=1과 no=2에 있는 페이지의 input 값들은 그대로 index.php의 pw로 넘기기 때문에 큰 의미가 없다고 생각했다. 더불어 index.php에서 값을 입력하면 틀린 값에 대해서 아무것도 하..
War Games/webhacking.kr
[webhacking.kr] old-8 Write-Up
webhacking.kr old-8 Write-Up 01. 문제분석 간단한 페이지다. 소스코드를 보자.
War Games/webhacking.kr
[webhacking.kr] old-7 Write-Up
webhacking.kr old-7 Write-Up 01. 문제분석 페이지 자체에 큰 요소는 없어보인다. 소스코드를 보자.
War Games/webhacking.kr
[webhacking.kr] old-6 Write-Up
webhacking.kr old-6 Write-Up 01. 문제 분석 문제를 접속하면 간단하게 ID와 pw를 보여줍니다. 문제의 소스코드 중 중요한 부분은 다음과 같습니다. 코드의 과정은 총 4가지로 나눌 수 있습니다. Cookie에 있는 user와 password 부분을 받아옴 각각 !@#$%^&*()을 1234567890으로 바꿈 decode_id와 decode_pw를 20번 base64 decoding을 수행함 최종 결과가 id: 'admin', pw: 'nimda'인지를 확인 02. Solution 그러면 간단하게 코드를 통해 base64 encoding을 해주면 된다. 2번 과정은 base64 encoding으로는 해당 글자들이 사용되지 않기 때문에 처리하지 않았다. import base64 i..
War Games/webhacking.kr
[webhacking.kr] old-5 Write-Up
webhacking.kr old-5 Write-Up 01. 문제 분석 Login과 Join 버튼밖에 없네요. Login의 경우 move('login')함수를 통해 mem/login.php로 옮겨가고, Join의 경우 Access_Denied alert만 띄우기 때문에 결국 login.php를 분석해야할 것 같습니다. Login 페이지입니다. 단순히 id와 pw를 입력하게 되어있는데, 틀렸을 때 단순히 wrong password만 띄우는 것을 보아 다른 곳을 보고자 했습니다. 02. Solution 이 문제를 보면 https://webhacking.kr/challenge/web-05/login.php 의 식이 아니라, https://webhacking.kr/challenge/web-05/mem/login...
War Games/webhacking.kr
[webhacking.kr] old-4 Write-Up
webhacking.kr old-4 Write-Up 01. 문제 분석 뭔지모를 해시값을 주고, password를 제출하라고 하네요. 소스코드를 먼저 봅시다. Password [view-source] 우선 목적은 우리가 입력하는 key값에다가 SESSION의 'chall4'값을 맞추는 것입니다. 다만 문제는 저희에게 주어지는 해시값은 기존의 $hash 값이 아닌, $hash값을 500번 sha1 암호화를 진행한 값을 줍니다. 그리고 $hash는 10000000~99999999사이의 랜덤값과 "salt_for_you"를 붙인 값이다. 예를 들면 "34597208salt_for_you"같은 값이 500번 sha1을 거쳐 우리에게 보여지는 것이다. 2. Solution 우선 $hash의 값이 많긴 하지만, 유한..