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

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 48단계-incubus

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 48단계 소스코드이다. 파라미터로 id와 pw를 받으며 필요이상의 데이터 접근을 막기위한 필터링이 되어있다. id가 admin이며 pw를 mongodb내부의 값과 일치시키면 풀린다. pw값을 찾아 입력하면 된다. 이번문제는 배열에 함수의 리턴값을 집어넣는다. blind sql을 통해 문제를 풀어보자. blind sql을 사용하기 위한 조건이 충족되는지 확인해보자. 값이 참일 때 변화를 확인할 수 있다. 이제 pw의 길이를 추출해보자. mongodb는 length를 사용한다. 쿼리: ?pw='||obj.id=='admin'%26%26obj.pw.length=='8 비밀번호의 길이는 8이다. 이제 pw값 차례다. b4782..

SQL injection/lord of SQL 2022. 2. 27. 00:34
Lord Of SQL injection 47단계-siren

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 47단계 소스코드이다. 이번에도 mogodb에서 작동한다. 파라미터는 id와 pw로 받으며 id가 admin이고 pw를 맞춰야 문제가 해결된다. 아마 이전 문제에서 푼 연산자를 통해 문제를 풀 수 있다 생각이 들었다. 수동으로 시도해보자. 어.. 1을 입력했는데 로그인이 되었다. 뭐지 2일 때는 로그인이 되지 않는다. 우연히 비밀번호 첫자리가 1이었던 거 같다. ㅋㅋ 바로 인젝터를 만들자. 비밀번호의 길이는 따로 알아내지 않아도 상관없다. 1588f5a3이 추출된 후 같은 값만 출력되기 때문에 알 수 있다. 문제 해결~ 시행착오 1. mongodb에서도 칼럼 값에 연산자를 사용하여 값을 추출해낼 수 있다. 2. 인젝터의..

SQL injection/lord of SQL 2022. 2. 26. 03:25
Lord Of SQL injection 46단계-cerberus

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 46단계 소스코드이다. 기존과 다른 방법으로 파라미터를 입력받는다. mongodb 서버에서 진행된다. mongodb는 Nosql db이다. id가 admin일 때 문제는 해결되는 조건이다. id를 admin으로 맞춰주고 쿼리를 닫으면 풀릴 거라 생각했다. 소스코드 어디에도 필터링해주는 부분을 찾을 수 없는데 더블 쿼터가 필터링당했다. 아마도 mongodb는 기본적으로 더블 쿼터를 필터링하는 것 같다. mongodb injection방법에 대해 검색하다 보니 연산자에서 힌트를 얻을 수 있었다. mongodb의 연산자 - $eq // = - $ne // != - $gt // > - $gte // >= - $lt //

SQL injection/lord of SQL 2022. 2. 26. 02:35
Lord Of SQL injection 45단계-kraken

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 45단계 소스코드이다. id와 pw를 파라미터로 받고 기본적인 필터링이 되어있다. 그리고 pw가 krakenFlag와 일치하면 문제는 해결되지만 익숙한 주석이 보인다. flag는 member에 없으니 다른 곳에서 찾으란 뜻이다. 그럼 진행해보자. 쿼리 : ?id='or id>'a'--+- guest 이외의 id를 찾아봤지만 guest 하나밖에 나오지 않았다. 따라서 admin은 다른 테이블에 있다는 걸 확인했다. 이번 문제에서는 master가 필터링되었기에 메타데이터에 접근하는 또 다른 방식인 sysobjects를 사용한다. 테이블 이름을 조회해보자. 쿼리: ?id='union select name from sysobj..

SQL injection/lord of SQL 2022. 2. 23. 01:34
Lord Of SQL injection 44단계-mummy

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 44단계 소스코드이다. 이번 문제는 파라미터를 query와 pw로 받는다. 그리고 아스키코드 1~32까지 사용이 불가능 해졌다. 이는 공백을 필터링하겠다는 뜻이다. 또한 ; ( / 가 새로이 필터링되었다. pw가 admin의 pw값과 일치하면 문제가 해결된다. 공백을 우회하는 방법에 대해 찾아보자 1. [] // 대괄호 2. "" // 더블 쿼터 3. '' // 싱글 쿼터 이번 문제에서는 필터링된 항목을 제외하면 대괄호와 쿼터를 사용하여 공백을 우회할 수 있다. 대괄호가 가장 적절하므로 대괄호를 채택한다. 쿼리 : ?query=[pw]from[prob_mummy] Hello anonymous가 출력되었다. 정상적으로 s..

SQL injection/lord of SQL 2022. 2. 22. 18:53
Lord Of SQL injection 43단계-yeti

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 43단계 소스코드이다. id와 pw를 파라미터로 받으며 메타데이터에 접근하지 못하도록 필터링 되어있다. 이번엔 에러를 표출하지않는다. 따라서 에러기반 주입은 진행할 수 없다. 하지만 필터링에서 시간기반 명령어들은 필터링 되어있지 않기에 힌트정도는 얻을 수 있다. 입력받은 pw와 id가admin인 pw가 일치하면 문제는 해결된다. 이제 풀어보자 이번에도 문제는 mssql환경에서 진행된다. 일단 pw길이부터 추출해보자 쿼리: ?pw='if(len((select pw from prob_yeti where id='admin'))=8)waitfor delay'0:0:3'--+- pw의 길이는 8이다. 하지만 이 과정에서 오랜 시..

SQL injection/lord of SQL 2022. 2. 22. 02:36
Lord Of SQL injection-42단계 revenant

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 42단계 소스코드이다. id와 pw를 파라미터로 받고 에러를 출력해주며 메타데이터와 시간 기반 주입을 하지 못하게 필터링되어있다. 주석은 5번째 칼럼을 해킹해야 한다고 알려준다. pw가 result쿼리의 '4'와 같으면 문제는 해결이 된다. 그리고 이번 문제 또한 에러를 출력해준다. 이 문제도 여러 시도를 했지만 모두 실패했다. 그래서 또 인터넷을 참고했다... 이번 문제의 해결은 group by 절에 가장 큰 지분이 있다. 바로 알아보자. 이번 문제의 칼럼의 수는 5개이다. (6 이상에서는 에러 페이지를 호출한다.) 이제 group by 절을 사용할 때이다. group by는 레코드 조회 시 각 레코드를 하나의 그룹으..

SQL injection/lord of SQL 2022. 2. 21. 22:30
Lord Of SQL Injection 41단계-nessie

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 41단계 소스코드이다. sqlite에서 mssql로 서버가 바뀌었다. id와 pw를 파라미터로 받으며 메타데이터 접근과 시간 기반 공격들을 필터링하고 있다. 따라서 남은 방법은 blind sql과 error sql이다. 그리고 바로 그 밑줄에 에러 발생 시 mssql의 에러를 출력해준 뒤 종료해준다는 구문이 있다. 에러 기반 문제이다. 에러 기반 문제는 보통 에러 출력 페이지에 사용자가 원하는 값을 표출되게끔 한다. 여러 번 시도를 해봤지만 도저히 문제가 풀리지 않아 인터넷 힘을 다시 빌렸다.. 쿼리: ?id=admin&pw=1%27or%20id=%27admin%27%20and%20pw=1--+- 기존 쿼리를 종료하고 ..

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

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