profile
고민보단 행동을

LOS - 31번 zombie

필터링을 제외하면 이전 문제와 완전히 동일하다.다만, 문자열 ace를 필터링하여 replace를 사용하지 못하게 막고 있기 때문에 Quine을 구현할 수 있는 다른 방법이 필요하다.이와 관련해서 MySql Quine에 대해서 찾아본 결과,MySql에서만 사용할 수 있는

2022년 3월 30일
·
0개의 댓글
·

LOS - 30번 ouroboros

쿼리의 결과와 사용자의 입력값이 일치하는 지 검증하는 문제다.pw를 찾아내면 쉽게 풀 수 있는 문제이기 때문에 아마 테이블 내부에 pw 값이 없을 것 같았다...확인을 위해 where절을 True로 만들어줄 수 있는 쿼리를 주입해보았다.테이블에 pw가 있다면 값이 뜰텐

2022년 3월 30일
·
0개의 댓글
·

LOS - 29번 phantom

no=1 레코드의 email을 찾는 문제이다.먼저, 준비된 쿼리문을 보겠다.쿼리문으로부터 추측할 수 있는 바는 다음과 같다.첫 컬럼의 데이터로 0이 들어가는 것으로 보아, no는 AUTO_INCREMENT PRIMARY KEY로 추정할 수 있다.접속한 ip와 joinm

2022년 3월 30일
·
0개의 댓글
·

LOS - 28번 frankenstein

LoS 28번 Python 자동화 코드이다.그런데 여기서 끝이 아니었다.자동화 공격 결과 분명 답은 숫자와 알파벳 대문자의 조합으로 나왔건만...아무리 넣어봐도 안 풀렸다.도저히 이유를 모르겠어서 다른 블로그 글을 찾아봤더니 답은 0dc4efbb 였다.왜 아스키로 검색

2022년 3월 30일
·
0개의 댓글
·

LOS - 27번 blue_dragon

싱글쿼터와 역슬래시를 필터링하고 있다.pw를 알아내야하는 Blind SQLi 문제이다.이전 문제들과 뭔가 다른 점은 다음 부분이다.쿼리를 먼저 실행한 이후에 싱글쿼터와 역슬래시를 필터링하고 있다.싱글쿼터나 역슬래시가 포함된 문자열을 페이로드로 전달하더라도 쿼리는 실행될

2022년 3월 30일
·
0개의 댓글
·

LOS - 26번 red_dragon

딱히 필터링 없음id값이 7자 이내여야함주어진 쿼리문이다.이것만 보면 상당히 간단해보이는 문제다.no를 맞춰주는 것이 목표이기 때문에, id값을 닫아주고 뒷부분을 주석으로 날려준 후 $no는 개행해주면 된다.이전에 마주친 적이 있었던 것 같은 문제다.이 경우의 페이로드

2022년 3월 30일
·
0개의 댓글
·

LOS - 25번 green_dragon

1 id 페이로드2 pw 페이로드따라서, 최종 페이로드는 다음과 같다.

2022년 3월 30일
·
0개의 댓글
·

LOS - 24번 evil_wizard

소스 코드만 보면 이전 문제와 완전히 같다.물론 같은 문제일리가 없으니 테이블 내부 데이터를 확인해본다.다음은 order=1을 페이로드로 전달했을 때 볼 수 있는 테이블이다.이번 문제는 id ASC로 정렬해도, score ASC로 정렬해도 그 결과가 같을 것임을 예상할

2022년 3월 30일
·
0개의 댓글
·

LOS - 23번 hell_fire

LoS 23번 Python 자동화 코드이다.admin 계정의 email은 admin_secure_email@emai1.com 임을 확인할 수 있다.@ 뒷부분을 보면... emai1 이다. 깨알같은 함정?

2022년 3월 30일
·
0개의 댓글
·

LOS - 22번 dark_eyes

이번 문제에서는 col, if, case, when, sleep, benchmark를 필터링하고 있다.전체적인 구조는 이전 문제와 크게 다르지 않은 Error Based Blind SQLi 문제이다.이전 문제와는 달리 에러가 발생할 시 에러 메시지를 보여주지는 않지만

2022년 3월 30일
·
0개의 댓글
·

LOS - 21번 iron_golem

solve 조건은 admin 계정의 pw를 알아내는 것이다.preg_match를 살펴보면 sleep과 benchmark를 필터링하고 있다.두 함수 모두 Time Based Blind SQLi에 쓰이는 함수다..과 \_등을 함께 필터링하므로 헤비쿼리도 사용이 불가능하다.

2022년 3월 30일
·
0개의 댓글
·

LOS - 20번 dragon

주어진 쿼리문을 보겠다.위 쿼리문은 다음 쿼리문과 동일하게 동작한다.따라서 정상적으로 admin 계정을 fetch 해오게 된다.개행 문자인 \\n 은 url encoding을 거쳐 %0a로 입력해준다.입력할 답은 다음과 같다.

2022년 3월 30일
·
0개의 댓글
·

LOS - 19번 xavis

오랜만에 만나는 Blind SQLi 문제다.solve 조건은 언제나와 같이 admin 계정의 pw를 알아내는 것이다.preg_match를 보면 regex와 like를 필터링하고 있다.regex는 Sql 정규표현식인 regexp를 걸러내기 위한 것으로 보인다.정작 =는

2022년 3월 30일
·
0개의 댓글
·

LOS - 18번 nightmare

이번 문제에서는 자주 사용되는 형식의 주석을 필터링하기위한 목적으로 보인다.또한, strlen을 이용해 pw의 페이로드 길이를 6Byte 이하로 제한하고 있다.주어진 쿼리문을 보겠다.solve 조건은 아무 id나 fetch 해오는 것이다.따라서, and를 기준으로① p

2022년 3월 30일
·
0개의 댓글
·

LOS - 17번 assassin

처음 보는 함수가 나왔다.strrev는 입력받은 문자열을 거꾸로 뒤집어서 반환하는 함수다.strrev("hello") ⇒ olleh이런 식이다.주의할 점은, Byte 단위로 뒤집기 때문에 2Byte 문자인 한글이 들어가면 깨지게 된다는 점이다.이번 문제에서는 여러번 접

2022년 3월 30일
·
0개의 댓글
·

LOS - 16번 succubus

싱글쿼터 우회에는 두 가지 방법이 있다.첫번째는 그냥 더블쿼터를 쓰는 것이다.그러나 더블쿼터로는 서버측 쿼리문에 열려있는 싱글쿼터를 닫아줄 수가 없기 때문에 쿼리문을 원하는 방향으로 아예 틀어줄 수는 없다.두번째는 아주 한정적인 상황에서만 쓸 수 있는 방법이다.이번 문

2022년 3월 30일
·
0개의 댓글
·

LOS - 14번 giant

이전과는 조금 다른 형태다.처음 보고는 이게 뭐지 싶었지만...where 1 == TRUE 임을 알고 나니 감이 왔다.from과 prob_giant 사이에 공백을 삽입하여 올바른 쿼리로 만들어주면 풀리는 문제인 것 같다.다만, preg_match를 살펴보면공백 및 자주

2022년 3월 30일
·
0개의 댓글
·

LOS - 13번 bugbear

preg_match에 뭐가 좀 많다.하나하나 살펴본다.필터링 사항이다.① 싱글쿼터② substr③ ascii④ =⑤ or/and⑥ 공백⑦ like⑧ 0x지금까지의 필터링 사항을 몽땅 다 집어넣었다.추가로 like에 대한 필터링까지 적용되었는데, 이에 대한 우회 방법은

2022년 3월 30일
·
0개의 댓글
·

LOS - 12번 darkknight

필터링 사항은 다음과 같다.① 싱글쿼터② substr③ ascii④ =substr/ascii 필터링 우회 방법은 다음과 같다.① substr ⇒ ord② ascii ⇒ mid또한, 이전 문제와 마찬가지로 admin의 pw를 알아야 풀 수 있는 Blind SQLi 문제이

2022년 3월 30일
·
0개의 댓글
·

LOS - 11번 golem

이번 문제에서는① or/and② substr(③ =를 필터링하고 있다.또한 근본적으로는 pw를 알아야 풀 수 있는 Blind SQLi 문제이다. (∵ addslashes) 이전에 써먹었던 자동화 코드에 필터링 우회를 적용해주면 될 것 같다.먼저, 자동화 코드의 chec

2022년 3월 30일
·
0개의 댓글
·