일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 해킹
- 미국 금리인하
- 픽크루
- 제넥신
- 고민정
- 불가피
- 학교 개학 연기 4월
- 킹덤 고근희
- 유튜버 김재석
- 스콜피온킹
- 조희연
- 폰폰테스트
- 스페인 코로나
- 성남 코로나 확진자
- 김영권
- 이지혜
- libtins
- 양적완화
- 임영규
- 금리인하
- 이상형 만들기
- 성남은혜의강교회
- 이태원 클라쓰 15회 예고
- 김재석
- 최강욱
- 리리남매
- 은혜의 강 교회
- 뭉쳐야 찬다
- 김영권 아내
- 홍혜걸
Archives
- Today
- Total
Dork's port
SQL-injection - Blind SQL injection with time delays 본문
- 이번에는 Time delay 를 이용해서 blind injection을 하는 문제
- 마찬가지로 Cookie에 취약점이 존재 함
Jyo5LYnEFMw7YpXx' UNION SELECT SLEEP(10)--
이 되지 않음.Jyo5LYnEFMw7YpXx' UNION SELECT PG_SLEEP(10)--
도 되지 않음.Jyo5LYnEFMw7YpXx' UNION WAITFOR DELAY '0:0:10'--
도 되지 않음Jyo5LYnEFMw7YpXx' UNION dbms_pipe.receive_message(('a'),10)--
도 되지 않음- 음.. 데이터 베이스의 가능한 조건을 모두 해봤는데, 되지 않는거보니 다른 취약점이 있거나 무언가 잘못하고 있는 것 같다.
- 클라이언트에서 무슨 필터가 있는 것도 아닌 것 같은게 네트워크 트래픽에서 입력한 raw 데이터가 그대로 전달 되는 것을 확인할 수 있었다.
- 오랜만에 하다보니
UNION
의 제약 조건에 대해 잊고 있었는되는데, column의 수가 일치해야 한다. 따라서, NULL을 통해 갯수를 추측하면서해보자. - 내가 가진 Mysql을 이용하면
SELECT * from user or SLEEP(10)
과 같은 쿼리가 정상적으로 동작해서 해보니, 이 문제엔 적용이 되지 않는다. - 어떻게 풀긴했는데 이상하다.
x' || PG_SLEEP(5)--
이렇게 했는데 문제에서는 10초이상을 요구함에도 불구하고, 클리어가 됐다는 점과, 위의 문장을 https://rextester.com/l/postgresql_online_compiler 에 컴파일 해봤을때는 에러가 뜨는데 왜 되는거지.. - 아
select '1' where 'a'='a' || PG_SLEEP(10);
이렇게 하면되네..SELECT PG_SLEEP
과 같이해서 그렇다. cheat sheet 를 보다보니 한듯. or
을 이용하고싶어서select '1' where 'a'='a' or PG_SLEEP(10)
을 실행해보니argument of OR must be type boolean, not type void
가 떠서 방법을 생각해보다가select '1' where 'a'='a' or PG_SLEEP(10) IS NULL;
를 이용해서 해보았더니 페이지의 서버상에는 delay가 되지 않았는데, portswigger 페이지에서는 정상적으로 delay가 되었다.- 앞으로 이와 같은 문제는 이렇게 풀어야지.
'portswigger-academy' 카테고리의 다른 글
Comments