본문 바로가기

[Codegate 2013] Binary 100 simple write up peid를 통해서, 혹은 그냥 프로그램을 바로 켜봐도 느낌상 C# 파일이라는것을 확인할수 있다. 그러므로, net reflector를 이용해서 디컴파일했다. 코드를 쭉 살펴보다보면, 우리에게 보여주는 중요한 string은 암호화 되어있고 xor과 AES encrypt로 되어있다는것을 알수있다. blocksize가 0x100이므로, Rijndael 방식중에서도 256비트라는것을 알수있고, key값은 9e2ea73295c7201c5ccd044477228527 이다. iv값도 key값과 같은 값을 사용한다. 그리고 중요한점은, utf-8방식으로 해야한다는것이다. 그래서 온라인상에 있는 rijndael decrypt 페이지에서는 안되더라.. 그래서 처음엔 python으로 진행하다가 나중에 php를 이용해서 디코.. 더보기
[Codegate 2013] Web 300 simple write up 전형적인 블라인드 인젝션 문제다. contact를 하는 부분(이름,메일,question,메세지 보내는 부분)에서 인젝션이 가능하다. question 파라메터를 이용해서 블라인드 인젝션을 했다. 그러면 멤버들의 비밀번호가 md5로 해쉬 되어있는걸 확인할수 있고 사전식으로 online md5 decoding 페이지들을 이용해서 디코딩이 가능하다. 그리고 소스보기를 통해 보면, 자바스크립트가 숨겨져있고, 숨겨진 로그인페이지가 있다는걸 알수 있다 그리고 나서 하나씩 로그인해보면 Hound 해킹을 의뢰한 사람과 시간이 나타난다. [python] import httplib,urllib; import sys import time # Blind SQL injection # setting #toget = 'databas.. 더보기
[Codegate 2013] Web 100 simple write up 비밀번호 해쉬를 하는데 세번째 인자가 true이다. raw 형식으로 hash를 한다는것을 알수있다. 예전에 wargame에서 풀어본 경험이 있는데.. 아마 webhacking.kr에 있었던 문제 같았다. 경험이 있으므로.. 쉽게 풀었는데 예전엔 md5로 해쉬를 했는데, 이번엔 좀 다른방법으로 해쉬를 한다. 그러므로 새로 php를 짰고, 'or' 이나 '||' 이 들어있는 해쉬를 하나씩 돌려서 찾아봤고, 결과를 하나씩 넣어보다 보니 로그인 성공 (숫자 몇이 성공이었는지는 정확히 기억이 안난다) 비밀번호를 찾는 코드 $i의 값이 비밀번호다. $i=0; echo "start\n"; for ($i=119335433; $i 더보기