query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); // 1차 쿼리의 결과 출력 if($result['id']) echo "Hello admin"; // pw입력값에 대한 ', ", NUL 등 필터링(?) $_GET[pw] = addslashes($_GET[pw]); // 2차 쿼리 $query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); // 2차쿼리의 결과와 pw 입력 값이 같으면 클리어 ! if(($result['pw']) &..
query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); // id를 출력하고 id가 admin일 경우 클리어! if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("goblin"); highlight_file(__FILE__); ?>3번 Cobolt의 소스코드이다. 이번 문제는 정수형 변수 no를 이용한 공격이다.필터링 부분에서 '와 "를 필터링하고 있기 때문에 우리가 공격을 할 때 약간의 불편함이 생겼다 ㅎㅎ 그렇다면 mysql의 char함수를 이용해서 공격을 하면 된다 ! '와 "를 사용할 수 없기 때문에 char함수를 이용해..
query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); // 쿼리의 결과가 admin이면 클리어 ~ if($result['id'] == 'admin') solve("cobolt"); elseif($result['id']) echo "Hello {$result['id']}You are not admin :("; highlight_file(__FILE__); ?>2번 문제 Cobolt의 소스이다. 소스를 읽어본 결과 따로 필터링되고 있는 값이 없어서,1번과 똑같이 쿼리를 완성해주면 클리어가 될 줄 알았다. ?id=asd' or 1=1 %23위와 같이 입력하니 'Hello rubiya ~ You are not admin!' ..

los : https://los.eagle-jump.org 1번 문제의 화면이닷! 따로 필터링 되는 것도 없고 아주 간단한 형태의 SQL I이다 ! 거짓 값을 준 뒤 참 조건을 넣고 주석을 넣어주면 클리어 ! ?id=asd' or 1=1 %23 위와 같이 입력하면 아래의 query가 완성되며 테이블 내의 값을 불러오게되며 클리어된다. select id from prob_gremlin where id='asd' or 1=1 #' and pw=''

60번 문제의 화면이다. 접근권한이 없다는 문구와 함께 소스코드를 보라고 링크를 걸어두었다. 그렇다면 소스를 보도록 하자 ! 위 소스코드의 행위는 아래와 같이 정리할 수 있다. 1. 1초 쉰다. 2. 세션에 숫자가 있으면 ACCESS Denied를 출력과 함께 종료 2-1. mode의 값이 auth 일경우 - readme/아이디.txt 파일을 연다. - 내용을 출력한다. - result의 내용과 아이디가 같으면 클리어! 2-2. readme/세션아이디 파일을 연다 - 파일에 아이디를 적는다. - IP가 127.0.0.1이 아니면 1초 후 파일의 연결을 끊는다. (순서도에서는 세션값 검증 부분이 빠져있음 ...) 우리의 접속 IP가 없기 때문에 우리의 ID로 만들어진 파일은 삭제될 수 밖에 없다. 따라서 ..
54번 문제의 화면이다. 우선 페이지에서 바로 확인할 수 있는 것이 없기 떄문에 소스를 보도록 하자. function run() { // 브라우저가 ActiveX Object를 지원한다면 if(window.ActiveXObject) { // Msxml2.XMLHTTP 객체 생성 시도 try { return new ActiveXObject('Msxml2.XMLHTTP'); } // 에러가 생긴다면 Microsoft.XMLHTTP 객체 생성 시도 // 그래도 에러 나면 NULL 리턴 catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return null; } } } // 브라우저가 XMLHttpRequest를 지원한다..

52번 문제의 화면이다. header injection이라는 기술의 문제였다. (참고 : https://blog.naver.com/PostView.nhn?blogId=ilikebigmac&logNo=221457683300 ) header injection이란 CRLF(캐리지 리턴 라인 피드)라는 것을 이용한 공격으로 HTTP header내에 내가 원하는 값을 추가할 수 있도록 만들어주는 공격이다 해당 공격으로 쿠키를 임의로 생성할 수도 있고, 페이지 이동을 시킬수가 있다고 한다. 위의 헤더를 예로 이해를 해보도록 하자. 형광펜으로 칠해져 있는 부분이 입력값 부분이다. 내가 만약 mks5546\r\nSet-Cookie:쿠키이름=쿠키값 이런식으로 값을 넣는다면 쿠키 값 생성도 가능하다. 이러한 취약점으로 X..

49번 문제의 화면이다. SQL Injection 문제이다. 일단 소스코드를 보도록 하자. union, from, select, or, and, (, ), limit, , , /, by, desc, asc, cash, 공백, %09(탭) 등을 필터링하고 있다. 처음에는 필터링이 하도 많이 걸려있어서 겁을 먹었지만, 알고보니 간단한 문자열 우회 문제였다.... 필터링 되는 문자들을 보고 공백은 어떻게 우회하지 .... 하며 정답에 근접하게 까지 가서 30분은 삽질한 것 같다... char 함수를 써서 문자열을 만들기에는 괄호가 php 단에서 필터링되고 있어 불가능했고, 문자열 우회 하는 방법을 찾아야만 했다. SQL injection 문자열 우회라는 키워드로 검색을 해보니 (참고 : https://secu..

47번의 문제 화면이다 mail함수를 이용한 문제라고 써주셨다 ㅎㅎ 우선 소스코드를 한 번 보도록 하자. 이 문제는 메일 해더에 참조자를 추가해서 메일 지정한사람 외에도 메일을 수신할 수 있도록 하는 문제였다. 입력 값을 처리하는 순서를 보면 아래와 같다. 1. 입력값을 필터링 및 검증 없이 header의 From에 저장 2. header변수를 이용하여 메일 전송 그렇다면 우리는 header에 메일이 저장되는 부분을 이용하여 공격을 하면 된다. (참고 : https://webisfree.com/2016-05-31/[php]-mail()-%ED%95%A8%EC%88%98-%EC%9D%B4%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%ED%95%A8%EC%88%98-%EC%95%8C%..
- Total
- Today
- Yesterday
- 써니나타스 7번
- SuNiNaTaS 22번
- 해시 디코딩
- webhacking.kr 42번
- Webhacking.kr 회원가입
- 써니나타스 22번
- SuNiNaTaS2번
- SuNiNaTaS 23번
- Suninatas
- 계정 잠금 임계값 설정
- Cent OS8
- Root원격접속차단
- SuNiNaTaS3번
- 써니나타스 8번
- webhacking.kr
- 써니나타스 6번
- 써니나타스 4번
- 패스워드 복잡도 설정
- SuNiNaTaS 4번
- SuNiNaTaS 7번
- 써니나타스 23번
- 패스워드 파일 보호
- SuNiNaTaS 6번
- webhacking.kr 58번
- suninatas1번
- Cent OS 8
- 써니나타스2번
- 써니나타스
- 써니나타스3번
- SuNiNaTaS 8번
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |