일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 포인터
- IF문
- blind sql injection
- suninatas 풀이
- 메소드
- 파이썬
- 자바스크립트
- 백준 알고리즘
- window
- 배열
- element 조회
- 객체
- github
- xss game 풀이
- property
- 조건문
- sql injection
- object
- lord of sql injection
- 사칙연산
- python
- 김성엽 대표님
- 백준 파이썬
- 함수
- document
- jQuery
- burp suite
- Pwndbg
- xss game
- htmlspecialchars
- Today
- Total
목록sql injection (8)
power-girl0-0
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 보자마자 물음표 연사?!!??? 새로고침을 해보니, 아래와 같이 출력된다. 소스코드를 살펴보자. 아래는 소스코드의 일부이다. ↓ getenv( http_user_agent ) 설명 더보기 getenv()는 함수의 인자로 오는 변수에 따라, 해당되는 환경 변수 값을 알려주는 함수 이다. REMOTE_ADDR : 웹 사이트에 접속한 컴퓨터 IP주소 HTTP_USER_AGENT : 웹 사이트를 접속한 컴퓨터의 웹 브라우저 정보 소스코드를 분석하면 아래와 같다. 웹 사이트에 접속한 브라우저 정보를 $agent에 저장하고, ip주소는 $ip에 저장한다. 만약 $agent에 from이 존재한..
생활코딩 PHP & MySQL을 참고하여 공부하였습니다. 스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다. ( 출처 : https://opentutorials.org/course/743inf.run/pBzy opentutorials.org/course/3167) 입력 공격의 차단 보안에 있어서 주요한 사고는 크게 두가지이다. 1. 들어오는 정보에서 문제가 있는 정보를 막아낸 것 2. 문제가 있는 정보가 이미 있는 상태에서, 그 정보가 사용자들에게 노출될 때 문제 있는 정보를 차단하는 것 즉, 입력과 출력에서 보안 사고가 일어난다. 사용자가 입력한 정보에서 문제가 될만한 정보를 차단하는 행위를 "filtering"이라고 하며, 저장되어 있는 정보를 사용자에게 노출할 때 발생할 수 있는 행..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제의 쿼리문에 and 1=0 때문에 혼란스러울 것이다. 하지만, 이전 문제를 풀어봤다면 '아~~ 뭐야~~'라는 생각이 들 수도 있는 문제이다. 쿼리문에는 id='guest'이라는 구문이 저장되어있다. 문제를 클리어하려면 id를 admin으로 변경해야만 한다. 그럼 'or연산을 사용해야되지 않을까?'라는 생각이 들 것이다. 그렇다. or연산을 이용하여 id='admin'을 입력하면 된다. 그런데 문제는 and 1=0이다. 이것을 어떻게 우회해야 될까???!! 바로 %23 즉, #인 주석처리를 하면 and 1=0은 인식되지 않는다. 따라서, 아래와 같이 입력하면 문..
해당 글은 개념을 간단히 정리하고자 작성한 글로, 실습은 다른 글에서 진행하였습니다. 개요 웹 어플리케이션이 database에 접근하는 과정에서, 악의적인 사용자가 악의적인 SQL문을 실행시켜 데이터베이스를 비정상적으로 조작하는 해킹 방법이다. 로그인 요청을 하면, DB는 계정 정보가 있는 테이블에서 해당 계정이 존재하는지 확인해야 한다. 종류 1. Error based SQL Injection ( =논리적 에러를 이용한 SQL Injection ) 논리적 에러를 발생시킬 수 있는 패턴을 이용한 인증 우회 기법이다. SQL Injection에서 가장 많이 쓰이며 대중적인 공격기법이다. 2. union SQL injection union 키워드는 두 개의 쿼리문에 대한 결과를 통합해서, 하나의 테이블로 보..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 1) 9줄 ~ 10줄 if문을 보면 id가 admin이면 문제가 클리어되는 것을 알 수 있다. 따라서, id에 admin을 넣고 전송해보았다. id에 admin이 들어갔지만, and연산 뒤에 있는 pw가 충족하지 못해 클리어가 되지 않는다. 여기서 잠깐! pw에 있는 md5는 암호화다. 암호화??!!! 당황스럽지만 소스 9줄에서 id가 admin만 되면 성공이라고 되어 있으므로, 일단 다른 방안을 생각해보자! 주석처리인 #을 사용하면 어떨까?? 앞에 1번 문제에서 알아봤듯이 #은 뒤에 명령어를 무력화한다. 따라서, #을 이용하여 id=admin 이라는 값만 전송해보자!..
GET방식과 달리 POST방식은 URL에 변수가 나타나지 않는다. 따라서, 이번에는 프락시 도구를 사용하여 변수를 확인하고 sql인젝션을 시도할 예정이다. 해당 글에서는 Burp suit 도구를 사용하였다. 1. burp suit를 사용하여 proxy를 켜준다. (burp suit에 대한 설명은 다 아는 것으로 간주하고 본 글에서는 따로 기재하지 않기로 한다.) 2. SQL Injection (POST/Search)를 선택해줍니다. 3. 작은따옴표(')를 입력하여 SQL 인젝션이 가능한지 알아본다. 작은따옴표는 데이터베이스에서 문자 데이터를 구분하는 것으로 입력창에 '를 입력시 다음과 같이 문법 오류가 발생이 일어난다. 입력결과 SQL 오류 메시지를 출력하는 것을 확인할 수 있다. (SQL 인젝션 취약점..
SQL 인젝션이란? 사용자가 입력값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 - 해당 공격은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생가능하다. - SQL쿼리를 변수에 입력하여 데이터베이스 정보를 획득하거나 시스템 내부를 파악하는 공격이다. 1. SQL Injection (GET/Search)를 선택합니다. 2. 검색창에 작은따옴표(')를 입력하여 SQL 인젝션이 가능한지 알아본다. ('sqli_1.php' 페이지는 영화 제목을 검색하고 데이터베이스에서 조회한 결과를 보여주는 페이지이다.) 입력결과 SQL 오류 메시지를 출력하는 것을 확인할 수 있다. (SQL 인젝션 취약점이 존재할 경우 SQL 오류 메시지를 출력한다..
안녕하세요-!! 오늘은 Blind SQL Injection에 대해서 알아볼까 합니다ㅎㅎㅎ 다같이 출발~~!! 잠깐-!! 그전에 SQL Injection에 대해서 간단히 알고 시작하도록 하겠습니다. SQL Injection은 악이적 사용자가 보안의 취약점을 이용하여 임의의 SQL문을 주입시키고 실행시켜 DB가 비정상적인 동작을 하도록 조작하는 것입니다-!! 다음 공격은 OWASP Top10 중 첫번째에 속하지만 공격이 비교적 쉽습니다. 따라서 공격 성공시 많은 피해를 입을 수 있는 공격입니다. 이제 진짜로 Blind SQL Injection을 시작합니다~~!! 먼저, Blind SQL Injection에 대해서 알아보도록 하겠습니다_!! 데이터베이스로부터 특정한 값이나 데이터를 받지 않고, 단순하게 참과 ..