일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 해킹
- Pwnable.kr
- stack overflow
- OS
- pwnable
- hacking
- 네트워크
- PWN
- SQL
- Spring
- 정보보안기사
- BOF
- LOB
- 웹해킹
- 운영체제
- 워게임
- system hacking
- Spring Framework
- Shell code
- webhacking
- Operating System
- 정보처리기사 실기
- Spring MVC
- 정보보안기사 실기
- wargame
- Payload
- webhacking.kr
- System
- Lord of BOF
- Buffer Overflow
- Today
- Total
목록SQL (9)
DongDD's IT
[Spring] Datasource, Spring JDBC, Transaction Data Source - Application이 database에 접근하기 위한 추상화된 연결 방식 종류 1. Application module이 제공하는 Datasource- 서드파티가 제공하는 datasource나 스프링 프레임워크가 제공하는 datasource 사용- DB 정보를 Application이 관리 2. Application Server가 제공하는 Datasource- JNDI를 이용해 가져와 사용하는 방식- DB 정보를 Server가 관리(Application과 분리)JNDI(Java Naming and Directory Interface) : Java가 제공하는 directory, naming servic..
[정보보안기사 실기] 어플리케이션 보안 - 웹 서버, 데이터베이스 취약점 디렉토리 인덱싱/리스팅 취약점 - 인덱싱 기능이 활성화되어 있는 경우, 공격자가 강제 브라우징을 통해 모든 디렉토리, 파일에 대한 인덱싱이 가능하게 되어 서버의 주요 정보가 노출될 수 있는 취약점 공격 방식 - URL에 페이지 이름이 명시하지 않고 디렉토리만 명시하여 확인- 디렉토리, 파일을 볼 수 있다면 취약점이 존재하는 것으로 볼 수 있음 대응 방법 1. 아파치 웹 서버 설정 파일(httpd.conf)에서 디렉토리 인덱싱/리스팅 제한- Options에 -indexes 추가-> 인덱싱/리스팅 시도 시 403 Forbidden 응답을 받음 2. 윈도우 IIS 웹 서버에서 디렉토리 인덱싱/리스팅 제한- IIS 등록 정보의 홈 디렉토리..
[정보보안기사 실기] 어플리케이션 보안 - 웹 취약점 SQL Injection - Web Application에서 입력 받아 database에 전송하는 SQL 쿼리를 변조해 권한 상승, DB 조회 등을 수행해 DB에 불법적인 접근을 시도하는 공격- SQL Injection 취약점 스캐너 : Nikto, SQLMap, Absinthe SQL Injection 분류(공격 방식) 1. Form SQL Injection- HTML Form 기반 인증을 실시하는 웹 어플리케이션의 취약점을 이용해 인즈을 위한 쿼리문의 조건을 조작해 인증을 우회하는 공격- where절을 항상 참이 되도록 조작 1) 공격 방식- 쿼리문에 사용되는 특수문자를 넣어 에러 발생 여부 확인-> 에러 발생 시 입력값 검증이 없는 취약한 페이지..
[정보처리기사 실기] 데이터베이스 SQL DDL(Data Definition Language) - 스키마, 도메인, 테이블, 뷰, 인덱스, 트리거 등을 정의, 변경, 삭제하는 명령어- 정의 내용은 Metadata가 되고 시스템 카탈로그에 저장됨 1. CREATE SCHEMA- 스키마 정의- CREATE SCHEMA schema_name AUTHORIZATION user_ID 2. CREATE DOMAIN- 도메인 정의- 정의된 도메인은 일반적인 데이터 타입처럼 사용- CREATE DOMAIN domain_name data_type DEFAULT default CONSTRAINT 제약조건 CHECK(범위 값)- 범위 값 : VALID IN('A','B', ...) , 이 값에 속한 값들만 선택 가능 3. ..
[webhacking.kr] Level 51 문제에 들어가니 "Admin Page"라는 화면에 ID와 PW를 입력할 수 있는 Login창이 있었다. 그리고 오른쪽 밑에는 Source라는 링크가 있었다. 아직 많은 공격법을 몰라서 그런지 로그인 창만 보면 sql injection이 떠올랐다. 일단 소스 코드를 보기전에 여러 값을 입력해보았다. 일단 admin라는 아이디에 아무 값이나 넣어서 제출해보았더니 Wrong이라는 message가 나오는 것을 볼 수 있었다. admin'#를 넣고 PW를 빈칸으로 두었더니 'Wrong'라는 message가 나오지 않고 그대로 인것을 볼 수 있었다. 그리고 ' 라던지 여러 값을 넣어보았지만 Wrong이라는 message만 나왔기 때문에 일단 소스 코드를 보고 어떤 식으로..
[webhacking.kr] Level 3 이번 문제는 들어가보니 다음과 같은 그림퍼즐이 있었다. 다른 웹해킹 문제와 달리 퍼즐이 있는 것이 신기했다. 처음에는 뭔지 몰라서 클릭하다 보니 오른쪽 밑 25개의 사각형이 클릭 시 검정색으로 바뀌는 것을 알 수 있었다. 클릭해보니 위와 같이 검정색 사각형이 생기는 것을 볼 수 있었다. 어떤 퍼즐인가 생각하다가 퍼즐의 해답을 알아냈다. 위와 왼쪽에 있는 숫자는 한줄에 있는 검정색 사각형 수를 의미하는 것이고 3이나 5같은 숫자는 한 줄에 연결되어 있는 검정색 사각형의 수고 1,1,1 이라고 표시된 것은 떨어진 검정색 사각형이 1개, 1개, 1개씩이라는 것을 의미하는 것 같았다.생각한대로 위와 같이 검정색 사각형을 만들었다. 맨 밑은 5이기 때문에 검정색 사각형 ..
SQL Injection SQL- 데이터베이스의 Data를 관리하기 위한 특수한 목적의 프로그래밍 언어 SQL Injection- 웹 어플리케이션이 Database에 접근하는 과정에 일반적이지 않은 query를 공격자가 악의적으로 임의의 query 구문을 실행하는 기법- Code 인젝션 기법 중 입력 값을 조작하여 데이터베이스에 접근, 공격할 수 있는 기법- 악의적인 SQL을 실행시키면서 데이터베이스를 조작할 수 있는 Code 인젝션 SQL Injection 종류1) 논리적 에러를 이용하는 SQL Injection- 논리적 에러를 발생시킬 수 있는 패턴을 이용한 인증 우회 기법 Example) SELECT * FROM user WHERE user_id='$id' AND user_pw = '$pw' - 위..
[webhacking.kr] Level 27 문제에 친절하게 SQL INJECTION이라고 써있는 것을 보아 SQL INJECTION 문제인것 같았다. GET방식으로 no를 보내는 것으로 보이고 index.phps를 보라고 써있었다. 소스코드를 보니 Level 18번 문제와 비슷한 형식으로 되어있었다. 저번과 마찬가지로 필터링이 들어가있고 해당 쿼리를 실행해 select으로 얻어오는 것이 admin이면 통과하는 것처럼 보였다. 필터링 확인을 해보기 위해 일단 '1 or 1 = 1'을 입력해보았다. no hack이라고 나오는 것을 보아 필터링에 걸린 것을 알 수 있었다.limit, \t, (, = 등 여러가지 필터링이 걸려있어 일단 공백을 통과해보기로 했다.저번에 풀었던 비슷한 문제에 걸려서 사용했었던 '..
[webhacking.kr] Level 18 문제에 들어갔더니 SQL Injection이라고 떡하니 써있었다. 코드도 주어진 상태라 코드를 보고 풀어나가면 되겠다는 생각이 들었다.SQL Injection에 대해서 조금은 공부했지만 아직 잘은 모르는 상태지만 도전해보기로 했다. 코드를 보니 여러 문자에 대해 필터링이 되어있었고 select를 통해 맨 위의 row에 admin이 오게 되면 통과하게 되어있었다. 간단한 값으로 1 or 1=1 을 넣어봤더니 no hack이라는 결과가 나왔다. Space가 필터링 걸려있다는 것을 알 수 있었다. Space(%20)을 대체하기 위한 것으로는 %0A, %0B, %0C, %0D가 있다는 것을 알았고 이것으로 시도해보았다. %0C를 사용하여 시도해보았다. hi guest..