목록WarGame/WebHacking.kr (50)
DoR@Hee의 끄적끄적
문제 첫 화면 fileupload 취약점을 이용한거같다. 아무 파일이나 업로드 했을 때 Done이 나오는걸봐서는 도저히 모르겠다. hint를 보자 123456789101112131415161718192021222324 -- mysql 관련 함수는 보안 문제상 현재 사용하지 않는 함수이며 mysqli, pdo를 사용한다.mysql_connect() -- mysql에 연결하는 함수이며 mysql_connect('localhost(서버주소)','아이디','비밀번호'); 로 사용한다.mysql_select_db() -- db에 연결하는 함수이며 mysql_select_db("db이름")을 이용해서 사용한다. mysql_query() -- INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRU..
문제 첫화면 파일업로드를 이용해서 푸는 문제같다. 단 sql injection은 아닌거 같다. 파일을 올려보면 현재 시간(서버), 아이피, 올린파일순으로 저장되는걸 확인할수있고 서버에 업로드 하는것은 filename만 인것으로 보아 time(), $_SERVER['REMOTE_ADDR']를 서버 내에서 사용하는거 같다.이로 유추해 봤을 때 db에 저장되는 query문으로insert into table values(time(),$_SERVER['REMOTE_ADDR'],$file_name); 를 사용한 다는걸 유추할수있고, db에 입력된 값을 select문을 이용해서 뿌려준다는걸 예측 할 수 있다. 그래서a'),('a','0x~~~~~)','asdf'))로 file name에 집어넣었고 insert int..
문제 첫화면 fileupload 취약점인거 같다. hit인 index.php를 들어가보면 이렇게만 있다 아마도 php로 코딩해서 없으니 php 코드를 읽어라?그 php의 내용은 $pw = "???" 다 라고 생각할 수있을거 같다. 또한 소스보기를 한 결과 파일업로드 시 action이 index.php인걸로 봐서 확실한거같다. 그래서 아무 파일이나 올려보면 이런식으로 하드코딩해놓은거 같다. hint가 .htaccess인걸로 봐서 apache 내 설정파일거 같으니 검색을 해봤다. https://httpd.apache.org/docs/2.4/ko/howto/htaccess.html - 아파치 메뉴얼즉 .htaccess 파일을 사용하여 디렉토리별로 설정을 변경할 수 있다. 라고 나왔으며 아마 upload 디렉터..
문제 첫화면 SQL 관련 문제인거같다. 혹시 몰라서 소스코드를 해본 결과 index.php의 소스를 보여준다. 1234567891011121314151617181920212223242526Challenge 27SQL INJECTION
문제 첫화면 a태그로 index.phs 링크를 걸어놨다. 해당 소스코드123456789101112131415161718192021222324252627282930 Challenge 26 body { background:black; color:white; font-size:10pt; } a { color:lightgreen; } index.phps Colored by Color Scriptercs 여기서 중요한점은 원래 url로 값이 넘어 갈 때 urldecode를 거치기 때문에 urldecode를 2번 실시 해줘야한다. admin = %61%64%6D%69%6E > %2561%2564%256D%2569%256E 성공
문제 첫 화면 리눅스에서 ls-al 를 친거같다. 소스보기 한 결과 아무것도 없다. file이라는 파라미터가 get방식으로 서버에 날라가는것을 유추 할 수있고 그에 따라서 결과값이 출력되는데 그 결과값은 똑같다. 물론 index.php도 똑같은거같다. 여기서 유추 할 수 있는것은무엇을 넣든 hello.txt가 출력되는걸 봐선 어떤 if 구조로 인해서 출력하는거 같다. hello를 넣어도 hello.txtindex.txt를 넣어도 hello.txt가정 1. 즉 ?file= 문자열.txt 이다? 가정1을 바탕으로php 에서 뒤에 %00(null)을 넣을 경우 뒤에 문자열을 무시하기때문에 파일이 출력된다. 성공
문제 첫 화면 사용자의 아이피 및 클라이어느 정보가 출력된다. 소스보기를 해보니 소스파일을 보여준다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 Challenge 24 Colored by Color ScripterColored by Color Scriptercs 해당 소스코드 이며, 클라이언트의 정보, ip를 $REMOTE_ADDR에 넣은 후 다시 그 값을 ip에 넣는다. 그 후쿠키 $_COOKIE[REMOTE_ADDR] 에 있는 값에 12, 7. 0. 이 존재 할 경우 str_replace를 이용 필터링 한 후 다시 $ip에 대입하며, ip값에 127.0.0.1 이라는 값이 있을..
문제 첫화면 xss를 이용하는 문제인거같다, 는 필터링 하지 않으며 () ; 도 물론 필터링 하지 않는다. 위 결과 2개 문자열 이상은 no hack을 출력하는거 보아서 2개이 상의 문자열은 필터링 하고 있는것으로 보여진다. %00 null문자를 이용해서 aa를 출력해보았고, 결과적으로 aa가 출력되었다. 그에 따라서 문제풀이 완료. 또 다른 방법으로는 code파라미터에 %00 이렇게 전달해주는 방법이 있다.이러한 방법이 적용하는 이유는 %00은 일반적인 백엔드에서 문자열의 끝을 의미하는대%00 이후에 들어간 문자열은 필터링 하지 않기 때문에 해당 구문이 성공한다.