UNION SQL Injection with SQLite3
2017. 10. 8. 02:57
SQLite3가 기존의 RDBMS와 기본적인 컨셉 자체가 굉장히 다르기 때문에 SQLite3에서 처음 SQLi를 하면 감을 잡기 힘든 편이다.
만약 SQLite를 사용하는 환경에서 별다른 필터링 없이 UNION Clause를 사용할 수 있다면 MySQL보다 간편하게 테이블의 구조를 알아낼 수 있다. SQLite에는 sqlite_master 테이블이 있는 이것이 SQLite에서의 인젝션 공격의 핵심이다.
asdf' union select sql, 1 from sqlite_master-- -
이 포스트에서는 루트미에 좋은 문제가 있어서 이 문제를 사용하여 설명을 하겠다.
👐 문제 스포가 있습니다 👐
이렇게 입력했더니 오류가 났다. fetch하는 column의 수는 2개임을 알 수 있다.
타 RDBMS와는 다르게 비교적 간단한 쿼리로 SQL이 실행되는 테이블의 구조를 가져올 수 있다. 그래서 MySQL에서 SQL Injection 할 때처럼 column 명을 알아오려고 똥ㄲ쇼를 펼치지 않아도 된다는 장점이 있다.
그리고 바로 어드민의 비밀번호를 알아내자.
' union select username || '-' || password, 1 from users-- -
캬 오졌따리ㅋㅋㅋㅋ
'Hacking > Web.' 카테고리의 다른 글
웃긴대학 XSS 취약점 제보 (0) | 2017.10.16 |
---|---|
XSS에서의 가장 심각한 시나리오 (2) | 2017.10.15 |
XSS, CSRF 시 세션하이재킹 툴 (0) | 2017.10.04 |
XSS 관련 워게임 (0) | 2017.10.02 |
디미고 내부 CTF, TRUSTEALTH CTF System 문제 리버스쉘 (0) | 2017.10.02 |