'분류 전체보기' 카테고리의 글 목록 (11 Page)
본문 바로가기

분류 전체보기

(161)
웹해킹 테스트 게시판 만들기 - 2 게시판 필요 기능 #1. 로그인, 로그아웃, 회원가입 #2. 게시판 게시글 편집, 글 추가, 삭제, 검색, 목록 #3. 추가 기능 파일 업로드, 다운로드 #4. 테이블 -member 테이블 projMem (id, passwd, name, addDate) -board 테이블 : projBoard (board_id, title, content, writer, writeDate, visitcount, orig_file(기존이름), save_file(저장시 이름)) #5. DB 설정 -최고 DB관리자 : SYSDBA -일반 사용자 : projUser -DB명: ora19c/1234 -SID : ORA19C => /app/ora19c/19c/network/admin/tnsnames.ora -DB연결정보 Strin..
웹해킹 테스트 게시판 만들기 - 1 환경은 다음과 같다. #운영체제: centOS #java : JAVA JDK java version "1.8.0_361” & 웹 서버 : tomcat 9 #front-end : jsp #back-end : java #DB : oracle-19 ( 연결방식 : JDBC connect, dbconnection pool ) #별도 설치한 라이브러리 : cos.jar / jstl-1.2.jar / ojdbc8.jar ★넘 중요.. 제발 process 4이상 메모리 8G VM으로 최대한 늘려놓고 시작.... CentOS #1. centos 7 설치 (vmware pro 15 에 설치했음) 참고) https://velog.io/@layssingcar/리눅스-설치하기-CentOS-7 #2. yum update JAV..
웹해킹 테스트 게시판 만들기 - 3 JSP + Servlet 게시판 개발 회고록.. 환경은 centos + oracle 개발이 메인은 아니지만 개발하는 도중에 만났던 지긋지긋한 에러들 정리.. #1. insert into projMem(id,passwd, name) VALUES('test','test','test'); 데이터를 삽입할 때 계속 tablespace가 없다고 뜸 → 접근 권한 문제. 권한 변경해줌 grant unlimited [tablename] to [oracle 사용자]; #2. ORA-00942. 00000 - "table or view does not exist" 테이블에 대한 권한이 없을 때 → 해당 사용자로 로그인해서 시도 sqlplus /nolog conn projUser/1234; #3. IO 오류: The Ne..
웹 URL 인코딩 URL 예약 문자 URL 주소에서 특정 기능을 하는 문자 ? 파라미터 시작 = 파라미터 대입 & 다음 파라미터 값 + 공백 # 뒤에 오는 모든 것 제거 예를 들어, 비밀번호 입력시 실제 '&','#'를 사용할 때 그럼 예약문자로 사용되서는 안되는데.. 이 문제를 해결하기 위한 것이 URL 인코딩이다. URL 인코딩 데이터 전송 시에 데이터 손실을 막기 위해 사용 예약문자를 단순 데이터로 전송하도록 사용 웹 브라우저를 이용할 경우, 브라우저에서 URL 인코딩이 자동으로 사용된다!! Burp로 서버측에 데이터 전송 → 브라우저 이용 안하기 때문에 URL 인코딩해서 데이터 전송 웹 브라우저로 서버측에 데이터 전송 → 브라우저에서 자동 URL 인코딩 해주기 때문에 인코딩 불필요 & %26 % %25 + %2B ..
Payload mssql 형변환을 사용한 errorbased sql 1 = [payload] 1 = [payload]/0 1 = convert(int, [payload]) 여기서, [payload]는 에러 메시지에 노출시켜 알아낼 데이터
Tunneling SSH -리눅스 : 기본적으로 ssh client와 ssh server가 내장 설치되어 있음. -윈도우: 기본적으로 제공X, putty, Xshell 설치 후 사용 tunneling - ssh의 중요기능 -forwarding과 비슷함 원래는 Host A가 Host B에 direct connection(직접 접근) 하는 경우가 많은데, (App Client → App Server) SSH 터널링 이용시 HostA가 SSH Client에 접속 후 데이터를 Host B의 SSH 서버를 통해 HostB에 전달한다. 왜 굳이 직접 접근 안하고 터널을 거쳐서 사용하는가? ▶ 서버에서 listen하고 있는 포트번호가 방화벽에 의해 막혀서 접근 불가한 경우에 사용됨. (22번 제외하고 모두 막아버리는 경우가 있음.) ..
모의해킹 진단 - SQL 편 (2) 내가 진단할 때 찾기 귀찮아서 만든 함수들 ★ MSSQL user명 찾고 싶을 때) 1. len(user) = 숫자 : 길이 찾기 2. substring(user,1,1) = 'a(문자1개씩)' : user명 찾아내기 ★ Mysql timebased) 1. select BENCHMARK(1000000, 반복할 함수); 2. select SLEEP(5); ★ Postgresql timebased ) 1. select count(*) from generate_series(1,50000) 2. select pg_sleep(10); user명 찾기 ) 1. char_length(user) = 숫자; : 길이 찾기 2. select substr(user,1,1)= 'a' : 현재 데이터베이스 user명 한글자씩 ..
모의해킹 진단 - SQL Injection 편 (1) SQL injection 잘 찾고 싶다.. 지금까지 겪어봤던 injection 공격POINT들 (blind / timebase ) 1. 정렬 관련.. 예를 들어, order by DESC/ASC 2. 조회 관련 정렬 경우 기본적인 SQL 구문 : select * from table_name where name like '%test%' order by DESC; 이런 경우가 많은데 첫 프로젝트에서는 http request 값에 형식이 이러했다. json 형식으로.. [ "order_column1":"ABCD","order_how":"ASC" ] 그래서 여기 order_how 입력값에 sql 문을 넣는 식! 이때는 timebased가 먹혔기 때문에 select * from table_name where na..