Web Hacking

webhacking.kr

[webhacking.kr] old-54

문제분석 & 풀이 문제에 접속하니 Password is 라는 문구와 함께 오른쪽 값 빠른 속도로 바뀐다. 아마 빠르게 바뀌는 이값들의 총집합이 password 이고 이것을 구하는 문제인 것 같다. 개발자 도구를 이용해 소스를 확인하여 answer() 함수를 찾아냈다. answer() 을 분석해보니 파라미터를 이용해 통신을 하여 그 결과 값을 aview 즉, "Password is" 오른쪽 부분에 출력한다. 소스를 자세히보면 aview.innerHTML=x.response.Text 로 되어있어 통신할때마다 화면에 출력되는 값이 바뀌는 것을 확인할 수 있는데 이것을 aview.innerHTML+=x.response.Text 의 형태로 바꾸면 매번 값이 바뀌는게 아니라 값이 쌓이는 형태로 출력이 될 것이다. ..

webhacking.kr

[webhacking.kr] old-53 (sqli -> procedure)

문제에 접속하니 소스만 있어서 바로 소스를 분석해봤다. 1. answer 파라미터 값이 $hidden_table과 같으면 문제 클리어 2. val 파라미터에 select , by 가 들어가면 프로그램 강제종료 3. sql 쿼리를 실행해서 val 값이 $hidden_table 이라는 테이블에 존재하면 화면에 출력 결론적으로 문제를 해결하기 위해서는 쿼리가 실행되는 테이블의 이름($hidden_table)을 알아내야 한다. DB에서 테이블 이름에 접근하기 위해서는 메타데이터 영역에 접근해야 하는데 문제는 select를 사용할 수 없어서 메타데이터에 접근할 수 없을 것 같다. 그렇다면 어떻게 해야 테이블 이름을 알아낼 수 있을까?? 여기서는 테이블 이름을 알아낼 수 있는 다른 방법인 procedure 함수의 ..

webhacking.kr

[webhacking.kr] old-51 (md5)

문제분석 & 풀이 Admin page에 로그인창이 있다. 이번 문제는 admin 계정으로 로그인하는 문제인 것 같다. 오른쪽에 보니 소스가 있어서 소스를 분석했다. 1) id, pw 값을 POST로 받는다. (2번줄) 2) id의 경우 addslashes() 를 통해 이스케이프 처리를 하고 pw는 md5()로 암호화 한다. 3) sql 쿼리를 실행하여 결과 값을 받고 결과값이 존재하면 문제가 클리어된다. 결과값이 존재만 해도 되는 것으로 봐서는 예상대로 admin 계정으로 로그인하는 문제다. 2)번 설명을 보면 id는 이스케이프 처리되기 때문에 인젝션이 불가능 할 것 같다. 이어서 pw는 md5()로 암호화가 되는데 특이점은 5번줄을 보면 md5() 안에 true라는 인자가 추가되어있다. 그렇다면 md5..

webhacking.kr

[webhacking.kr] old-50 (sqli → 주석)

문제분석 & 풀이 sql inejection 문제다. 간단한 로그인 창이 구현됐다. 코드를 분석해보자.

webhacking.kr

[webhacking.kr] old-49 (sqli -> hex)

문제분석 & 풀이 이번 문제는 sql injection 문제인 것 같다. 소스를 보고 분석해보자. 1. lv 파라미터 값을 받고 정규표현식으로 검증하여 select , or , and , ( , ) , limit , 콤마 , order , cash , 공백 , 탭 , ' , " 이 들어갈 경우 프로그램을 강제종료한다. (2~4번줄) 2. 정규표현식 검증을 무사히 넘어간 경우 sql 쿼리를 실행하여 id 값을 받아온다. (5번줄) 3. id값이 "admin"이면 문제가 해결된다. 이번 문제는 이전에 풀었던 46번 문제와 유사한 문제인 것 같다. 1. lv=0 or id="admin" 1번 페이로드를 보내면 sql 쿼리의 where 문에서 lv=0이 무시되고 id가 "admin"인 레코드를 찾아서 "admi..

webhacking.kr

[webhacking.kr] old-47

문제분석 & 풀이 메일 제목과 함께 전송버튼이 있다. 메일 제목을 보면 "47번 문제의 flag"인데 아마도 내용에는 flag가 담겨있는 것 같다. 전송하면 보냈다는 문구만 나온다. 어떻게하면 메일의 내용을 읽을 수 있을지 고민하던 중 메일 참조(Cc)라는 것을 알게됐다. Cc는 메일참조로 수신인 뿐만 아니라 여러사람에게 참조하라는 의미로 메일을 추가로 전송하는 경우에 사용한다. Cc 이외에도 Bcc(숨은 참조)도 존재한다. To: Son Cc: Kane, Alli Bcc: secret_people subject: Football is fun~! 보통 위와 같은 양식으로 수신인, 참조인을 모두 포함하여 메일을 전송한다. 그렇다면 제목과 함께 Cc(참조)인을 붙여줄 수 있다면 어떨까? Cc로 나의 메일을 ..

keyme
'Web Hacking' 태그의 글 목록 (8 Page)