일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- M2
- 1819 (HY000):
- goblin 3번
- docker compose
- ubuntu
- mocOS
- utmp
- SQL i
- LOS 5번
- 우분투
- No module named ‘requests’
- sqli
- ModuleNotFoundError: No module named ‘requests’
- SQLi wargame
- str_replace함수
- MySQL
- Python requests 설치
- XAVIS
- Kail Linux
- sql injection
- Error Based SQL Injection
- Union SQL Injection
- 2002(HY000)
- UTM
- Lord of SQLinjection
- Lord of SQL Injection
- blind SQLi
- 가상머신 os
- los.rubiya.kr
- btmp
- Today
- Total
klaus
[Lord of SQL Injection] goblin 3단계 본문
2022.11.20 - [모의해킹/Wargame] - [LOS] Cobolt 2단계
0. goblin
사진을 넣기 위해 고블린을 검색해보았습니다.
놀라운 사실! 드라마 도깨비가 해외에서 제목이 고블린으로 나온다는 사실에 놀라서 찾아보다가 10분을 허비했네요 ㅎㅎ
1. goblin 문제 및 코드 분석
preg_match() 필터링 부분을 보면 SQLi에서 사용되는 쿼터(, ' " ` i )들이 필터링되어 exit 되는 것을 알 수 있습니다.
이번 문제는 필터링이 힘들어 보이는군요
SQL 쿼리를 보면,
$query = "select id from prob_goblin where id='guest' and no={$_GET[no]}";
id(guest) and 번호(no)의 조건이 맞아야 처리가 되는 것으로 보입니다.
no=0의 경우 반응 없음
no=1 guest
no=2 반응 없음
으로 확인하였습니다. no=1번은 guest가 사용 중이라는 것을 알 수 있습니다.
해당 문제는 논리 연산자를 사용하여 풀이가 가능할 것 같습니다.
where id='guest' and no={$_GET[no]}";
일단, where id='guest' and no=0로 만들어서 거짓 문장으로 만들고 뒤에 or 연산을 넣어 no=x를 넣어 admin이라는 참 값을 만들어 준다면 가능하지 않을까??
그럼, no=0||no=x 라는 공식을 얻을 수 있습니다.
다만, no=x값이 때문에 admin값이 10000번에 있다고 가정하면 무차별 대입하는 방법으로 하나씩 쓰기보다는 프로그래밍을 해야겠죠?
다시 한번 코딩의 중요성을 느끼네요 ㅎㅎ
필자는 no=0||no=2을 사용하여 문제를 풀었습니다..... 너무 무차별 대입으로 풀었습니다.
그게 아니면 no=0||id='admin'으로 여러 방법으로 'admin'을 변형하여 사용이 가능할 것 같습니다.
여러 포스팅을 보다 보니 아래와 같은 방식으로도 해결이 가능한 듯합니다.
no=0 or id=0x61646d696e : 'admin' 인코딩
0 or id=char(97,100,109,105,110) : 'admin'을 ''싱글 쿼터가 필터링되어 때문에 char()으로 묶고 admin을 아스키코드로 변환
오늘도 이렇게 3번 문제를 풀어보았습니다.
'모의해킹 > Wargame' 카테고리의 다른 글
[Lord of SQL Injection] darkelf 6단계 (0) | 2022.12.05 |
---|---|
[Lord of SQL Injection] wolfman 5단계 (0) | 2022.12.03 |
[Lord of SQL Injection] ORC 4단계(feat. blind based SQLi) (0) | 2022.11.26 |
[Lord of SQL Injection] Cobolt 2단계 (0) | 2022.11.20 |
[Lord of SQL Injection] Gremlin 1단계 (0) | 2022.11.20 |