본문 바로가기

CTF_/webhacking.kr20

[webhacking.kr] old-26(100) 풀이 [old-26] urldecode 함수 활용 - view-source를 눌러 소스 코드를 확인하자. - admin을 preg_match를 통해서 비교를 한 후* preg_match에서 대소문자 구분이 없기 때문에 대문자를 이용하여 우회 가능하다.* 대소문자 구분을 하기 위해서는 preg_match("/admin/i",$_GET['id'])와 같이 i 옵션을 넣어 주어야 한다.- urldecode를 한 번 거치고 $_GET['id'] 와 admin 이 같으면 풀린다. - 처음 생각한 방법이다.. - urldecode 함수가 있으므로 a 를 %61로 우회하여 넣으면 될 것이라 생각했다..- 여기서의 문제점은 url로 id=%61dmin을 보낼때 한번 url decode를 거친다는 점이다.- 즉, $_GET[.. 2020. 1. 25.
[webhacking.kr] old-25(150) 풀이 [old-25] LFI 취약점 - 문제 25번에 들어가면 file 인자값으로 hello가 써져있다.- 밑에 textarea에는 hello world가 써져있다. - file에 flag를 쓰자 FLAG is in the code라는 글이 뜬다. - file에 index를 쓰자 아무 것도 없는 빈 칸이 뜬다. - file에 다른 값들을 넣으면 아무 것도 뜨지 않는다.- file에 flag.php나 hello.php를 입력해도 아무 것도 뜨지 않는다. - 위의 결과값으로 보아 file에 file명을 입력하면 자동으로 php가 붙어 include 되는 것 같다.- LFI 취약점을 이용하여 file에 구문을 넣어보자LFI(Local File Include) : include 구문을 통해 서버의 페이지를 inclu.. 2020. 1. 24.
[webhacking.kr] old-24(100) 풀이 [old-23] cookie 이용, str_replace 우회 - client ip 에는 나의 ip주소가 있고 agent에는 나의 인터넷 브라우저 정보가 적혀있다.- view-source를 통해 소스 코드를 보자 - 주목해서 봐야할 부분은 빨간 네모박스 부분 이다.- extract($_COOKIE);는 COOKIE에 있는 값을 변수로 만드는 것이다.- 예를들어 cookie에 REMOTE_ADDR : 123 이 들어 있으면, $REMOTE_ADDR의 변수에 123이 저장된다.- $REMOTE_ADDR = 123;- str_replace의 경우 이미 치환한 경우 다시 바꾸지 않는다. - 예를들어 str_replace("12","",$ip);에서 $ip = 1122 의 경우 $ip는 결과적으로 12가 된다.-.. 2020. 1. 16.
[webhacking.kr] old-23(200) 풀이 [old-23] eregi우회, xss - xss를 이용하는 문제이며 를 실행하면 문제가 풀리는것 같다. - 코드를 보면 GET 방식으로 입력을 받는다. - 역시 를 입력하면 no hack이라 뜬다. - 필터링 구문이 무엇인지 알기 위해 여러가지 문자를 넣어 보았다.- 허용 문자 : < - 필터링 문자 : sr, aa, im 등과 같이 문자+문자로 이루어진 조합 + xss 를 검색하다가 너무 생각이 안나서 구글링을 하여서 문제 풀이를 보았다.+ eregi우회를 통한 문제라고 한다. (요즘 eregi 함수는 주로 사용하지 않는다.)+ eregi의 취약점은 %00(URL)이 있으면 문자열 검사를 하지 못한다.+ 즉 aa는 no hack이 뜨지만 a%00a는 걸리지 않는다. - aa를 입력했을 때는, no h.. 2020. 1. 16.
[webhacking.kr] old-01(200) 풀이 [old-01] Cookie값 조작 - level : 1이 써져있으며, view-source를 눌러 페이지 소스코드를 볼 수 있다. - 페이지의 소스 코드이다.- is_numeric은 값이 숫자인지 확인하는 함수이다. $_COOKIE['user_lv']이 숫자가 아니라면 $_COOKIE['user_lv']를 1로 셋팅한다.- $_COOKIE['user_lv']이 6보다 크거나 같으면 $_COOKIE['user_lv']를 1로 셋팅한다.- $_COOKIE['user_lv']이 5보다 크면 문제가 풀린다.- $_COOKIE['user_lv']이 5보다 크고 6보다 작아야 하므로 5.1~5.9까지의 수를 $_COOKIE['user_lv']에 넣으면 된다. - 다시 문제 페이지로 돌아와 쿠키값을 확인한 뒤 us.. 2020. 1. 11.