DoR@Hee의 끄적끄적
문제 첫화면 3초에 소켓연결을 하고 연결이 안될경우 에러메시지를 출력한다. fsockopen함수는 소켓연결 관련 함수이며 $_GET[server]에 해당하는 ip에 3초안에 랜덤으로 생성된 포트 연결한다. 여기서 소켓연결을 할 수 있는게 가장 중요한대 일반적인 가정집에서 쓰는 공유기 같은 경우 포트가 막혀있기 때문에포트포워딩을 실시 해줘야한다. (스타나 워크 좋아하는사람들은 방능자가 되기위해서 포트포워딩을 한다..) 이렇게 한 후 방화벽도 열고, nc로 포트 리스닝도 하면서 웹페이지 계속 새로고침해줬는대 안된다 도저히 모르겠다. 난중에 다시풀이
문제 첫 화면 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 디렉터..
inlie 방식123456 Colored by Color Scriptercs 장점 - 태그와 연관된 스크립트가 분명히 드러난다단점 - 정보와 제어가 같이 있기때문에 가독성이 떨어진다. script 방식123456789101112 var hw = document.getElementById('aa'); aa.addEventListener('click', function(){ alert('Hello world'); }) Colored by Color Scriptercs 장점 - js코드와 html을 분리가능(addEventListener()는 이벤트를 추가하는 메소드이며 button클릭 시 수행된다) 외부파일로 분리하는 방식1234567 Colored by Color Scriptercs 1234var aa= ..
문제 첫화면 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)을 넣을 경우 뒤에 문자열을 무시하기때문에 파일이 출력된다. 성공