웹문제다.. 일단 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…
읽어보기 →
우선 다운받은 프로그램(8938765cdf97403089c008e4d4b63d52.zip)을 실행해보면, 아래와 같은 도어락?이 보인다. 늘 하듯이 처음엔 1234라던지 여러가지 값을 입력해보았지만, 될리가 있나..ㅋ 일단 어떤 프로그램인지 확인을위해 PEid를 확인해보았다. 오..C#으로 만들어진 프로그램이다.. 그럼 일단 .Net reflector으로 디컴파일 해서 소스를 보았다.. 소스는 난독화가 되어있었지만, 그럭저럭 볼만 했다. 소스를…
읽어보기 →
문제 자바스크립트 리버싱(?) 문제다.. 소스보기를 하면 아래와 같은 스크립트를 볼 수 있다. <script type="text/javascript"> function boh() { alert(huh(document.formular.pass.value) ? "Righty captain! Enter the password in the box below." : "Not even close!"); } function huh(pw) { var b = Array(8, 0,…
읽어보기 →
문제 password 를 묻는 창이 계속 뜬다.. (아주 짜증난다.) proxy tool으로 잡아보니 아래와 같은 소스를 확인할 수 있었다. 우선 url 인코딩된 pass 변수를 변환해보니, 2346ad27d7568ba9896f1b7da6b5991251debdf2 값이 나왔다. 그리고 hex_crypt 함수는를 확인했더니.. http://www.bright-shadows.net/challenges/javascript9/crypt.js var hexcase = 0; var b64pad = ""; var…
읽어보기 →
문제 접속해보면 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")) {…
읽어보기 →
문제 접속을 하면 Login to get access! 라는 메세지가 뜬다. 소스를 보면 아래와 같이 js를 include 하는 부분이 확인된다. <script type="text/javascript" src="www.bright-shadows.net/challenges/js/check.js"></script> 해당 소스를 보면.. 정답은 nice_or? 성공
읽어보기 →
문제 입력창이다 소스를 보면.. <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…
읽어보기 →
문제 입력창이다.. 소스를 보니.. <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;…
읽어보기 →
문제 접속하자 마자 No, no, no. Try it again! 이 뜬다.. 소스를 확인해봤다. add 값이 395425559298 되는 year 를 찾는 것이다.. proxy tool 을 이용해 year 값을 변조해가면서 add 값을 확인해 봤다. <script type="text/javascript"> date = new Date(); year = date.getYear();…
읽어보기 →
문제 접속하자 마자 password 를 묻는 창이 뜬다. 소스를 보면, 입력값고가 d3, d4 값을 비교한다. 이 부분을 alert으로 확인해보면.. D0D0FF 값이 나오는 것을 확인하고 password에 입력하면 성공
읽어보기 →
문제 소스를 보면, 입력값이 warmup 과 일치하는지 확인한다. warmup을 입력하면 성공
읽어보기 →
[Thisislegal.com] SQL Challenge 1 문제 : simplest of SQL challenges 란다.. administrator'or+1=1-- 를 입력하니 아래와 같은 에러가 난다.. Mysql이라고 해서 주석(administrator'or+1=1#)을 바꿔서 다시 시도 하니.. 성공!
읽어보기 →