티스토리 뷰
서른아홉 번째 글.
SQL injection 문제를 풀 때마다 뭔가 많이 부족하다는 느낌을 받는다.
기본기를 탄탄히 다지기 위해서 Lord of SQL injection을 선택하였다.
1. 코드 분석
preg_match() 함수를 통해서 'prob' '_' '.' '()'를 필터링하고 있으며 id와 pw에 포함되어있으면 'No Hack ~_~'을 리턴한다.
그리고 입력 부분이 싱글 쿼터로 감싸 져 있다.
이외에 별다른 부분은 없고 result값이 존재하면 문제가 풀린다.
2. Exploit
2.1 단순 논리 연산으로 풀기
id와 pw의 값을 싱글쿼터로 묶어주고 있었는데 싱글 쿼터를 이용하면 간단하게 escape가 가능하다.
?id=' or 1='1&pw=' or '1'='1
이렇게 쿼리 스트링을 전달하면
위와 같이 결과적으로 true가 되기 때문에 문제를 클리어할 수 있다.(참고로 and 연산이 or연산보다 우선순위가 빠르다)
2.2 주석이용하기
?id=' or 1=1%23
이렇게 쿼리 스트링을 전달하면 뒷부분이 다 무효가 되기 때문에 문제를 풀 수 있게 된다.
처음에는 '#'을 그대로 입력하니 안돼서 '%23'으로 인코딩을 해준 뒤 전달하니 되었다.
첫번째 문제라서 그런지 매우쉬웠다.
'writeup > LOS' 카테고리의 다른 글
[Lord of SQL injection] darkelf (0) | 2021.07.02 |
---|---|
[Lord of SQL injection] wolfman (0) | 2021.07.02 |
[Lord of SQL injection] orc (0) | 2021.06.28 |
[Lord of SQL injection] goblin (0) | 2021.06.28 |
[Lord of SQL injection] cobolt (0) | 2021.06.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 드림핵 Relative Path Overwrite
- LFI vulnerability
- wargame
- dreamhack padding oracle
- alasql
- Lord of SQL injection
- htb Windows Fundametals
- csp bypass
- dreamhack CSS Injection
- 드림핵 DOM XSS
- dreamhack DOM XSS
- xxe injection
- 해커팩토리
- 드림핵 padding oracle
- SQL Injection
- blind injection
- dreamhack web-alasql
- dreamhack Relative Path Overwrite
- hackerfactory
- DreamHack
- php LFI
- Windows Fundamentals
- 드림핵
- WebHacking
- csp
- CSS Injection
- hack the box
- 웹해킹
- htb
- webhacking.kr
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함