일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WarGame
- Shell Script
- Blind SQL Injection
- 케이쉴드
- 보안컨설턴트
- 취업연계
- sql inection 사이트
- 리눅스 취약점 진단
- 주요통신기반시설 shell script
- 정보보안
- 보안취업
- sql injection
- Los
- 국비지원
- webhacking.kr 1번 문제
- 카이섹
- 웹해킹 사이트
- 한국정보보호교육센터
- 주요통신기반시설 쉘 스크립트
- 웹해킹 문제풀기
- 블라인드 sql injection
- 웹해킹 공부
- 워드프레스 접속
- 기업보안담당자
- 케이쉴드주니어
- 리눅스 취약점 점검
- 모의해킹
- SQLInjection
- 정보보호관리진단
- 웹해킹 연습
- Today
- Total
목록2018/07 (16)
Youngjin's Log
13번 문제 - bugbear php 코드 분석preg_match함수를 이용하여 테이블에 직접적인 접근을 금지하고 있습니다.그리고 substr, ascii, =, or, and, 공백, LIKE, 16진수표시를 금지하고 있습니다.첫번째 쿼리문에서 get방식으로 pw와 정수형의 no을 입력 받습니다.쿼리문을 돌려서 출력되는 id를 화면에 표시합니다.입력 받은 pw의 문자열을 addslashes함수를 이용하여 문자열에 싱글쿼터, 더블쿼터, 널값, 역슬래시 앞에 역슬래시(\)를 추가하여 pw변수로 반환합니다.반환된 pw를 두번째 쿼리문에 입력하여 쿼리문이 정상동작하면 출력된 pw값과 입력되어 addslashes로 반환된 pw값을 비교하여 두개의 값이 같다면 클리어 되는 문제입니다. TIP입력되어 addslas..
세션 가로채기(Session Hijacking) 실습은 반드시 실습자 본인의 모의해킹을 위해 만들어 놓은 게시판을 이용하시길 바랍니다. 실습 환경Windows - 본인 실습게시판 서버Ubuntu Linux - 가로챈 세션 값을 받기위한 본인 공격자 실습 서버, apache/php가 정상 작동해야 합니다.admin2 - 공격대상asd - 공격자 공격대상(admin2)이 접근할 디렉토리에 권한을 모두 접근할 수 있게 바꿔줍니다. 공격대상(admin2)이 접근하여 실행시킬 php코드를 작성해줍니다. getsession.php 코드 분석1번째 줄 : $cookies라는 변수에 GET방식으로 받은 값을 할당합니다.2번째 줄 : fopen을 이용하여 getsession.txt파일을 a+(읽고 쓰기)권한으로 실행합니..
12번 문제 - darkknight php 코드 분석 preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.그리고 substr, ascii을 금지시켰습니다.첫번째 쿼리문에 세가지의 조건이 존재하고 문자열의 pw와 정수형의 no을 입력 받습니다.입력 받아서 출력된 id를 보여주고 입력받은 pw문자열을 addslashes함수로 싱글쿼터, 더블쿼터, 널, 역슬래시 앞에 역슬래시(\)를 추가하여 반환합니다.반환받은 pw문자열을 두번째 쿼리문에 입력하고 출력된 pw와 반환된pw를 비교하여 일치할 경우, 클리어 되는 문제입니다. TIP문제 코드에서 addslashes함수만 보이면 이제 다들 아실 것 같습니다. Blind SQL injection문제입니다.substr은 right, left, ord함수..
11번 문제 - golem php 코드 분석preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.그리고 앞전에 유용하게 쓰였던 or, and, substr을 금지하고 있습니다.pw를 get방식으로 문자열로 받아서 쿼리문이 정상작동하면 출력된 id를 보여주고,입력받은 pw문자열을 addslashes함수로 싱글쿼터, 더블쿼터, 널, 역슬래시 앞에 역슬래시(\)를 추가하여 반환해줍니다.반환받은 문자열을 두번쨰 쿼리문에 입력하게 되고, 출력된 pw와 입력받은 pw를 비교하여 같은 경우 클리어되는 문제입니다. TIP 이전 문제에서도 많이 풀었던 방식인 Blind SQL injection문제입니다. addslashes에 걸리지 않고 출력시킨 pw와 같으려면 어쩔 수 없이 정확한 값을 넣어주는 수 밖에..
10번 문제 - skeleton php 코드 분석preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.조건문에 세가지 조건이 존재하고 마지막 and 연산자 뒤에 false 값을 주었습니다.쿼리문에 명시되어 있는 guest가 아닌 admin을 불러오면 클리어 되는 문제입니다. TIP뒤에 있는 and연산자는 크게 신경 쓰실 필요없습니다. 주석처리해주면 됩니다.이전 문제에서 풀었듯이 admin을 불러오게 sql문을 조작해 주시면 되겠습니다.답은 다양한 형태로 올 수 있습니다.
9번 문제 - vampire php 코드 분석preg_match함수로 테이블의 직접적인 접근을 금지하고 있습니다.그리고 입력받은 문자열이 admin일 경우 공백으로 바꾸는 str_replace함수를 사용하고 있습니다.쿼리 조건문에는 한개의 조건만 존재하며 admin을 출력시키면 클리어 되는 문제입니다. TIP이전에 푸셨던 문제들과 크게 다를 바가 없습니다. admin이 replace되는 것만 우회하면 되는데, 여러 우회 방법이 존재하겠지만,소대문자로 우회하는 것을 시도해 보시면 좋을 것 같습니다.답은 다양한 형태로 올 수 있습니다.
1.1 root 계정 원격 접속 제한(Shell Script) #!/bin/bash #linux/unix check list 1.1#coded by pyj if [ -z "`grep -v tty\? /etc/securetty`" ]thenecho "1.1 Safety" 2>&1elseecho "1.1 Dangerous State" 2>&1fi
8번 문제 - troll php 코드 분석preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.그리고 ereg함수를 이용해서 admin을 금지하고 있습니다.조건은 id만 명시하면 되고, 출력된 id가 admin이라면 클리어 되는 문제입니다. TIP쿼리문은 유연한 문법이기 때문에, 대소문자가 크게 상관없는 것 같습니다.(ex - SELect == select, GUEST == guest)소문자로 admin이라고 명시되어 있는 것만 우회해 주시면 될 것 같습니다.답은 다양한 형태로 올 수 있습니다.
7번 문제 - orge php 코드 분석preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.그리고 or, and를 금지하고 있습니다.pw를 get방식 문자열로 받아서 쿼리문을 입력하고 출력된 id값을 페이지에 표시해줍니다.그리고 addslashes함수를 이용하여 입력받은 pw문자열 중에서 싱글쿼터, 더블쿼터, 널, 역슬래시 앞에 역슬래시(\)를 추가하여 반환해줍니다.그렇게 반환받은 pw문자열을 다시 쿼리문에 입력하고 쿼리가 정상적으로 입력되고 동작했다면 출력된 pw와 addslashes함수로부터 반환 받은 문자열을 비교합니다. 두개의 문자열이 같으면 클리어 되는 문제입니다. TIP문제의 핵심은 addslashes함수입니다. 첫번째 쿼리문을 무력화시켜서 admin을 뽑아 낸다고 하더라도 a..
6번 문제 - darkelf php 코드 분석preg_match함수로 테이블에 직접적인 접근을 금지하고 있습니다.그리고 or, and을 금지하고 있습니다.pw를 get방식의 문자열로 받아서 쿼리문을 입력하고 결과에 admin이 있다면 클리어 되는 문제입니다. TIP비슷한 기본 패턴의 문제 중 하나입니다.다만, or, and를 우회한다는 것이 다를 뿐입니다.or, and를 우회할 수 있는 방법을 찾아 보시면 쉽게 풀 수 있을 것 같습니다.and는 URL 인코딩이 되어진 형태로 입력해주셔야 입력이 가능합니다.or는 우회하는 그대로 입력해 주셔도 됩니다.답은 다양한 형태로 올 수 있습니다.