Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 테크트렌드
- 코딩
- 웹개발
- write up
- CTF
- root me
- pythonprogramming
- 정보보안
- WebHacking
- overthewire
- hackthissite
- 사이버보안
- geminipro
- lord of sqlinjection
- burp suite
- Wargame
- system hacking
- sql injection bypass
- web-server
- XSS GAME
- Over The Wire
- 프로그래밍
- 웹해킹
- Bandit
- 인공지능
- 개발자
- web hacking
- 웹해킹 기초
- webhacking.kr
- SQL Injection
Archives
- Today
- Total
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지
webhacking.kr 27번 문제 풀이 본문
반응형
SQL INJECTION이란 말과 함께 입력할 수 있는 칸과 view-source가 있다. 이번
문제는 SQL INJECTION 취약점을 이용하는 문제인 것 같다. 일단
소스코드를 보자 밑에
GET ['no']에 대한 php를 살펴보면 sql injection 문제답게 sql injection 필터링이 되어 있다. 필터링을 우회하여 문제를 해결해야 하는 것 같다. 일단 아이디가 guest라고 하면 guest가 출력이 된다고 한다. 그리고 아이디가 admin이면 문제가 풀린다. 그리고 주석으로 admin의 no = 2라고 한다. 그럼
"select id from chall27 where id='guest' and no=({$_GET['no']})" 이 부분을 sql injection 공격을 해야 하는 부분이다. select
id from chall27 where id='guest' and no=아무 숫자) or no = 2-- )"))
요렇게 하면 sql injection이 성공하여 admin으로 로그인이 될 것이다.
그럼 필터링되어있는 =이랑 공백을 해결해야 하는데
= 이거는 like로 사용할 수 있고 공백은
%20이 필터링되어있어서 %09 (tab)을 사용해야겠다. 필터링은
--을 사용하면 그렇다면
한번 필터링 우회를 한 sql구문을 만들어 보면
아무숫자)%09or%09no%09like%092--%09
이렇게 된다. (여기서 -- 뒤에 공백이 있어야 주석처리가 되니 주의해야 한다!) 문제
해결!
반응형
'해킹 > Web hacking' 카테고리의 다른 글
LORD OF SQLINJECTION darkelf. write up (0) | 2023.03.02 |
---|---|
LORD OF SQLINJECTION wolfman. write up (0) | 2023.03.02 |
webhacking.kr old-12 번 문제 풀이 (0) | 2023.02.22 |
dreamhack file-download-1 풀이 (0) | 2023.02.21 |
XSS-game level 6 (2) | 2023.02.02 |