본문 바로가기

[webhacking.kr] Challenge 02 :: Cookie-Based SQL Injection SummryBoard 게시판과 admin 페이지의 패스워드를 찾아야 합니다.Injection Vector를 찾는 것이 어렵습니다.Cookie-Based SQL Injection은 무엇일까요? Challenge 02는 다음과 같습니다. 가장 난해하고 어려웠던 문제인 만큼 가장 마지막으로 풀게 되었습니다. 먼저 많은 페이지들 속에서 다음과 같이 Board 게시판과 Admin 페이지를 찾을 수 있습니다. Board 게시판에서 "No"라는 파라미터를 GET 방식으로 전송하고 있기 때문에 처음에는 이 곳을 Injection Vector로 지정하고 공격하였지만 실패하였습니다. 공격을 소모시키기 위한 함정인 것 같습니다. 메인 페이지의 HTTP Request Header를 보면 Cookie에 다음과 같이 "time".. 더보기
[webhacking.kr] Challenge 13 :: Blind SQL Injection 4 Summary "", "=" 문자 필터링을 우회하기 위해 IN() Clause를 사용합니다.공백 필터링을 우회하기 위한 방법은 "%09(Tab)", "%0a(LF)", "%0d(CR)", "/**/(주석)", "()", "+" 등이 있습니다."Limit" 문자열 필터링을 우회하기 위해 MAX(), MIN(), GROUP_CONCAT() 함수를 사용합니다. Challenge 13은 다음과 같습니다. "제출" 입력폼과 "Auth" 입력폼이 있습니다. "제출" 입력폼은 "no"라는 파라미터를 GET방식으로 전송하고, "Auth"는 "password" 파라미터를 GET 방식으로 전송합니다. "Auth" 입력폼은 최종 정답을 전송하는 폼으로 보입니다. "제출" 입력폼이 Injection Vector라는 것을 짐작.. 더보기
[webhacking.kr] Challenge 09 :: HTTP Basic Authetication (해당 글에서는 Authentication과 Authorization을 구분하지 않겠습니다. Authentication이라고 명명하는 곳도 있고 Authorization이라고 명명하는 곳도 있습니다. HTTP Header 이름이 "Authorization"이라서 그런 것 같습니다. 두 용어 모두 "인증절차"라고 이해하면서 읽어 주시기 바랍니다. 저는 "인증"에 포커스를 두고 "Authentication"이라고 명명하겠습니다.) Challenge 09는 다음과 같습니다. 처음에는 위와 같이 나타나는 폼이 PHP와 Script로 만들어진 폼인지 알았습니다. 그러나 Proxy Tool로 확인한 결과 GET이나 POST 값은 없었고 취소를 클릭하면 "Unauthorized"라는 Error 페이지가 출력되었습니다.. 더보기