김승현
[Lord Of SQLInjection] gremlin 1번 문제 write up 본문
문제
include를 통해 config.php를 로드
login_check();함수 실행
db에 연결함
만약 id에 입력한 값에 /prob, _, ., (, ) 총 다섯 개를 대소문자 구분없이 들어있다면
나가지면서 No Hack이라고 뜨는 문장 같다.
preg_match는 정규식 표현 검사하는 함수
아래는 pw에 대해 검사하고 No Hack
query에 select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}' 저장
(id와 qw를 동시에 만족하는 걸 찾아야 함)
만약 id가 존재하면, (sqli가 성공했으면) gremlin 문제가 풀린다는 내용이다.
.
.
.
풀이
그냥 query에 저장된 내용을 바탕으로 sqli를 해보면 될 것 같다. id나 pw가 '(작은따옴표)로 묶여있다.
' or 1 #
위와 같이 입력하면 된다.
그러나 실제로 입력하고 query를 보면 #이 사라진 걸 볼 수 있는데 디코딩이 된 상태로 들어가기 때문에 우리는
인코딩을 한 번 해서 값을 입력해줘야 한다. #은 %23이기 때문에 최종적으로
' or 1 %23
'Web > Lord Of Sql' 카테고리의 다른 글
[Lord Of SQLInjection] darkelf 6번 문제 write up (0) | 2023.03.12 |
---|---|
[Lord Of SQLInjection] wolfman 5번 문제 write up (0) | 2023.03.12 |
[Lord Of SQLInjection] orc 4번 문제 write up (0) | 2023.03.12 |
[Lord Of SQLInjection] goblin 3번 문제 write up (0) | 2023.03.05 |
[Lord Of SQLInjection] cobolt 2번 문제 write up (0) | 2023.03.05 |