본문 바로가기 메뉴 바로가기

hdd

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

hdd

검색하기 폼
  • 분류 전체보기 (329)
    • 암호학 (1)
    • SQL injection (117)
      • lord of SQL (50)
      • injection 문법 (2)
      • Zixem (10)
      • webhacking (55)
    • MySQL (1)
    • 백준 (121)
    • 코딩테스트 (2)
    • 백지 (4)
    • 프로그래머스 (45)
    • 기술스택 (34)
      • 자바(Spring) (34)
      • DataBase (0)
    • CS(Coumpter Science) (1)
    • 일기 (3)
  • 방명록

Los (46)
Lord Of SQL injection 22단계-dark_eyes

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 22단계 소스코드이다. 이번엔 21단계에 이어서 col, if, case, when가 추가로 필터링 되었다. 그리고 pw 값에 admin의 pw와 일치하는 값을 넣으면 문제는 해결된다. 조건문들을 사용하지 못하게 한것같다. 그리고 exit() 함수에 db에러를 출력해주는 변수가 빠졌다. 이번에는 에러문을 아무것도 출력해주지 않는다. 하지만 필터링된 문자를 보고 strcmp() 함수가 생각났다. 1. strcmp(a,b) // a와 b의 값을 비교해서 ab 0보다 큰값을 반환한다. 하지만 이함수는 이문제를 해결하는데 사용될 순 있지만 필요가 없었다. 그리고 새로운걸 배웠다. select a where에서 where절이 i..

SQL injection/lord of SQL 2022. 1. 13. 20:10
Lord Of SQL injection 21단계-iron_golem

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 21단계 소스코드이다. pw 파라미터에 sleep, benchmark 등의 함수가 필터링 된걸 볼 수 있고, 문제 해결조건은 pw에 admin의 pw 값을 넣으면 해결된다. 일단 필터링된 두 함수의 기능부터 알아보자. 1. sleep(n) // sql에서 where 뒤에 호출되며 괄호안의 숫자(초) 만큼 지연시킨다. ex) sleep(3) -> 3초 지연 2. benchmark(a,b) // a는 돌릴 횟수 이며 b는 수행할 함수이다. ex) select benchmark(10000,2+2) ->2+2를 만번한다. 또 이번엔 exit(mysqli_error)를 통해 에러가 생기면 해당 에러를 페이지에 반환해준다. 이 문..

SQL injection/lord of SQL 2022. 1. 12. 23:43
Lord Of SQL injection 20단계-dragon

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 20단계 소스코드이다. 소스코드는 간단하다. pw에는 의도를 벗어난 해킹을 막기위한 필터링만 되어있다. 하지만 쿼리의 id 파라미터 뒤에 #이 들어가 있어 뒷부분이 주석처리가 되어있다. 다른건 딱히 안보이고 # 주석만 우회하면 문제는 해결된다. # 주석은 한줄을 주석처리한다. 하지만 %0a (Line Feed: 프린터에서 종이가 한줄 씩 인쇄되며 나오는 문자) 가 오게되면 주석처리가 끝이난다. 따라서 쿼리는 ?pw=%0a and pw=||+id='admin'--+- 이다. 해결! 시행착오&느낀점 1. 처음에는 db에서 쿼리를 pw 로 다시 줘야한다 생각해서 pw?='%0a&pw=~~ 등으로 쿼리를 주입했었고 역시나 제대..

SQL injection/lord of SQL 2022. 1. 12. 21:04
Lord Of SQL injection 19단계-xavis

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 19단계 소스코드이다. 이번 문제는 난이도가 급감한 느낌이다. 하지만 pw에 regex와 like를 필터링 중이다. regexp_like(stringa, '조건식', c) // stringa에서 조건식에 해당하는 값을 출력함. ※c면 대소문자 구분 i면 무시한다.※ ㄴex) select regex_like(pw, 'a|b|c') // a 또는 b 또는 c 가 포함된 pw 값을 출력한다. ㄴex) select regex_like(pw, 'a$') // a로 끝나는 pw값을 출력한다. ($는 뒤에 붙임) ㄴex) select regex_like(pw, '^a') // a로 시작하는 pw값을 시작한다. (^는 앞에 붙임) ㄴ..

SQL injection/lord of SQL 2022. 1. 11. 02:41
Lord Of SQL injection 18단계-nightmare

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 18단계 소스코드이다. 이번엔 pw가 id 보다 먼저 왔다. 또한 pw에 -, # 가 필터링 처리되어있다. 이는 주석을 사용하지 못하게 하려는 의도이다. 일단 주석처리 방법에 대해서 알아보자 1. -- // 한줄 주석처리이며 --뒤에 공백이 와야 정상적인 주석처리가 된다. 2. %23 // 한줄 주석처리이며 #이 아닌 %23을 입력해야 정상적으로 작동한다. 3. /**/ // 다중 주석처리이며 /*부터 */가 나올 때 까지 주석처리가 되며 /*/**/*/ 이면 /*/**/*/ 이렇게 처리된다. 4. ;%00 // 주석처리이다. 이 문제에 적합한 주석처리는 4번이다. 또한 pw에는 문자열이 6글자 이하로 제한되어있다. 6..

SQL injection/lord of SQL 2022. 1. 10. 19:09
Lord Of SQL injection 17단계-zombie_assassin

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 17단계 소스코드이다. 새로운 함수가 보인다. strrev()// 문자를 뒤집는 함수이다. ex) id=admin strrev(id) ->nimda id와 pw에 ', ", null 을 필터링 시키고 값을 뒤집어서 다시 id와 pw에 저장하며 id와 pw값이 db에 있으면 문제가 해결된다. addslashes를 우회하고 거꾸로된 문자열을 대입했을 때 풀리는 쿼리를 집어넣으면 된다. addslashes() // ', ", %00 앞에 이스케이프 문자를 넣어 해당 문자들의 기능을 상실시키고 문자그대로로 인식시킨다. 이번문제에서는 strrev() 함수로 인해 id와 pw에 입력된 값이 역순으로 배열되니 addslashes()..

SQL injection/lord of SQL 2022. 1. 10. 16:31
Lord Of SQL injection 16단계-succubus

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 15단계 소스코드이다. 이번엔 id와 pw에 싱글 쿼터 하나만 필터링되어있다. id값이 데이터베이스에 있는 값이면 문제가 해결된다. 이 문제는 싱글 쿼터 우회 문제이다. 싱글 쿼터를 우회할 수 있는 방법에 대해 찾아보자. 1. " // 더블 쿼터 ex) "admin" 2. \ //escape 문자 ex) id='\' and pw='' -> \로인해 id의 뒤 싱글 쿼터가 문자로 인식되며 'and pw가 문자열로 인식된다. pw의 뒷 ' 은 주석처리로 제거할 수 있다. 3. char(39) // 아스키코드 이번 문제는 2번 방법으로 해결된다. id 값에 이스케이프 문자 \ 를 넣어주므로 id='\' and pw='' ' ..

SQL injection/lord of SQL 2022. 1. 10. 15:03
Lord Of SQL injection 15단계-assassin

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 15단계 소스코드이다. 이번엔 pw 뒤에 등호가 아닌 like 로 쿼리가 이루어져 있다. id 가 admin인 pw값을 입력하면 문제가 해결된다. 하지만 like는 =와 달리 pw의 모든값을 입력할 필요가 없다. LIKE 응용(대소문자 구분안함) 1. a% //a로 시작하는 문자열 검색 ex) asd 2. %a% //a가 포함되어있는 문자열 검색 ex) sad 3. %a //a로 끝나는 문자열 검색 ex) fgdfga 4. a_ //a로 시작하며 _갯수만큼의 문자열 검색 ex) a4 5. a-c //a와c 사이에 한글자가 들어가있는 문자열 검색 ex) agc 6. ^a //첫번째 글자가 a가 아닌 문자열 검색 ex) b..

SQL injection/lord of SQL 2022. 1. 10. 01:15
이전 1 2 3 4 5 6 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 백준 피보나치 수열
  • samron
  • 김영한 실전 자바 기초
  • static
  • 코딩테스트
  • 백준 피보나치
  • ys.k
  • zixem
  • 스프링
  • 백준
  • 프로그래머스
  • los 15
  • 상품을 구매한 회원 비율 구하기 파이썬
  • 자바
  • Los
  • los 15단계
  • 기술스택
  • lord of sql
  • 김영한
  • webhacking.kr
  • extends
  • 코딩테스트 준비
  • 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
  • 프로그래머스 상품을 구매한 회원 비율 구하기
  • 김영한 실전 자바 기본
  • java
  • samron3
  • 김영한 실전 자바 중급
  • 상속
  • spring
more
«   2025/05   »
일 월 화 수 목 금 토
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
글 보관함
250x250

Blog is powered by Tistory / Designed by Tistory

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.