Apollo89 · Category

Development

Python, Java, JavaScript, PHP, Database 등 소프트웨어 개발 과정에서 사용한 기술과 코드, 오류 해결 방법을 기록합니다.

253 articles
Development

보호된 글: Codegate 2013 Web 100

  웹문제다.. 일단 login_check.phps 소스가 있으니, 소스부터 보자. <?php if (!isset($_POST['user_id']) || !isset($_POST['password'])){ die("parameter error"); } $flag = "?"; $id = $_POST['user_id']; $ps = $_POST['password']; mysql_connect("db","id","pw"); mysql_select_db("db"); $id = mysql_real_escape_string($id); $ps = mysql_real_escape_string($ps); $ps = hash("whirlpool",$ps, true); $result = mysql_query("select user_id from…

읽어보기 →
Development

보호된 글: Codegate 2013 Binary 100

  우선 다운받은 프로그램(8938765cdf97403089c008e4d4b63d52.zip)을 실행해보면, 아래와 같은 도어락?이 보인다. 늘 하듯이 처음엔 1234라던지 여러가지 값을 입력해보았지만, 될리가 있나..ㅋ 일단 어떤 프로그램인지 확인을위해 PEid를 확인해보았다. 오..C#으로 만들어진 프로그램이다.. 그럼 일단 .Net reflector으로 디컴파일 해서 소스를 보았다.. 소스는 난독화가 되어있었지만, 그럭저럭 볼만 했다. 소스를…

읽어보기 →
Development

보호된 글: [TheBlacksheep] JavaScript 8: Encryption is everything

  문제 password 를 묻는 창이 계속 뜬다.. (아주 짜증난다.) proxy tool으로 잡아보니 아래와 같은 소스를 확인할 수 있었다. 우선 url 인코딩된 pass 변수를 변환해보니, 2346ad27d7568ba9896f1b7da6b5991251debdf2 값이 나왔다. 그리고 hex_crypt 함수는를 확인했더니.. http://www.bright-shadows.net/challenges/javascript9/crypt.js var hexcase = 0; var b64pad = ""; var…

읽어보기 →
Development

보호된 글: [TheBlacksheep] JavaScript 7: $cript Kiddie$

  문제 접속해보면 Username 과 Password 를 묻는다. 소스를 보니, JScript.Encode 으로 인코딩된 javascript 가 보인다. http://www.greymagic.com/security/tools/decoder/decoder.asp 를 이용해 인코딩된 js를 디코딩해보면, function checkMe(form) { var user = form.user.value var pass = form.pass.value if ((user == "microcrap") && (pass == "broken")) {…

읽어보기 →
Development

보호된 글: [TheBlacksheep] JavaScript 5: Easy script

  문제 입력창이다 소스를 보면.. <script type="text/javascript"> function check() { pass = unescape('%44%61%67%6F%62%65%72%74%20%44%75%63%6B'); solution = pass.substr(0,8)+pass.substring(9,13)+pass.substring(8,9); passwd = document.formular.user.value; if (passwd == solution) { window.location.href=solution+".php"; } else { alert("False!!!"); } } </script> 인코딩된 %44%61%67%6F%62%65%72%74%20%44%75%63%6B 부분을 디코딩 해보면 "Dagobert Duck" 이 나오고, solution…

읽어보기 →
Development

보호된 글: [TheBlacksheep] JavaScript 4: Hard but possible.

  문제 입력창이다.. 소스를 보니.. <script src="JavaScript"> function testEncode() { var dater = new Date(); Day = dater.getDate(); dater = null; Ret = encode(document.formular.user.value, Day); location = Ret+".php"; } function encode (OrigString, CipherVal) { Ref="0123456789abcdefghijklmnopqrstuvwxyz._~ABCDEFGHIJKLMNOPQRSTUVWXYZ"; CipherVal = parseInt(CipherVal); var Temp=""; for (Count=0;…

읽어보기 →