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

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)
  • 방명록

SQL injection (117)
database 함수 정리

이번에는 여러 가지 sql injection문제들을 풀 때마다, 각 db의 문법이나 함수의 차이에서 검색하는 시간을 줄이고 독립성을 키우고자 작성한다. 또한 상시 작성 중인 글이므로 그 내용은 변하거나 틀릴 수 있고 구성이 완전하지 않을 수 있다. 1.Mysql 1. 조건문 - if(n,a,b) // n=조건식, a=참일 때 값, b=거짓일 때 값 - case when n then a else b end // n=조건식, a=참일 때 값, b=거짓일 때 값 2. user명, 길이 - user() - length() 3. substring - substring(n,a,b) // n문자열을 a위치부터 b만큼 추출한다. - substr(n,a,b) // 위와 같음 - mid() 4. 대소문자 구분 - 대소문자..

SQL injection/injection 문법 2022. 2. 22. 03:22
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
Lord Of SQL injection 40-poltergeist

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 40단계 소스코드이다. id=admin으로 고정되어있고 pw파라미터를 입력받아 일치하면 풀리는 문제인 줄 알고 풀었었다. 역시 아니었고 poltergeistFlag === pw 구문을 보고 이상한 점을 느꼈다. 일단 mysql에서 했던 것처럼 blind sql을 위해 참 거짓 출력이 다른 점을 찾았었고 admin에 해당하는 pw값을 찾아 파라미터로 주입했지만 문제는 풀리지 않았다. 어차피 정답이 아닌 부분이라 자세하게 포스팅하지 않겠다. 문제의 해결조건은 pw로 입력받은 값이 poltergeistFlag의 값과 같으면 해결된다. 따라서 admin의 pw값은 애초에 필요하지도 않았다.. 소스코드를 보면 주석처리된 부분에 ..

SQL injection/lord of SQL 2022. 2. 18. 14:37
Lord Of SQL injection 39단계-banshee

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 39단계 소스코드이다. 이제는 그냥 mysql서버가 아닌 sqlite에서 푸는 게 기본이다. 아마 mysql과는 다른 문법을 익히라는 의도 같다. pw에서는 sqlite, member, _를 대소문자 구분 없이 필터링 처리했다. sqlite에서 저 단어들이 어떻게 사용되는지 모르겠지만, 일단 이번 문제를 해결하는 데는 필요 없다. pw파라미터에 인증 우회 구문을 넣어본다. 인증 우회에 성공했다. blind sql을 사용할 수 있게 되었다. 하지만 sqlite문법에 맞지 않으면 아무런 소스코드를 출력하지 않는다. 바로 pw의 길이를 추출한다. 여러 번 시도를 했지만 편의상 첨부 자료는 하나만 올리겠다. pw의 길이는 8이..

SQL injection/lord of SQL 2022. 2. 14. 02:13
Lord Of SQL injection 38단계-manticore

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 38단계 소스코드이다. id와 pw가 addslashes 처리되어있으며 id가 admin이어야 문제가 해결된다. addslashes는 필터링 문자열 앞에 \를 넣어주기 때문에 널 바이트 우회로 시도해본다. ? id=admin% fa'--+- 실패다. 이유를 찾아보니 sqlite는 mysql과 달리 addslashes처리에 \가붙어도 \가 이스케이프 문자로 쓰이지 않기에 그냥 문자열만 추가된다고 한다. 따라서 싱글 쿼터 없이 id에 admin을 입력할 방법을 찾아야 한다. 0x도 먹히지 않는다. 한참을 고민하다가 char을 생각했다. 성공 시행착오 1. sqlite에서는 or이 ||로 사용될 수 없다. 2. sqlite에..

SQL injection/lord of SQL 2022. 2. 9. 22:57
Lord Of SQL injection 37단계-chupacabra

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다. 37단계 소스코드이다. 코드가 이전 문제들과는 조금 달라졌다. $db = sqlite_open("./db/chupacabra.db"); 가 생겼다. 그냥 sqlite를 열어주는 기능을 한다. 그리고 문제는 또 한방에 풀렸다. ? id=admin'--+- 아마 db의 변화에 따른 입문 문제인 것 같다.

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

티스토리툴바