일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UTM
- SQL i
- Lord of SQL Injection
- los.rubiya.kr
- btmp
- sqli
- 2002(HY000)
- No module named ‘requests’
- XAVIS
- docker compose
- ModuleNotFoundError: No module named ‘requests’
- 가상머신 os
- 우분투
- MySQL
- blind SQLi
- ubuntu
- 1819 (HY000):
- Python requests 설치
- Lord of SQLinjection
- goblin 3번
- M2
- Union SQL Injection
- Kail Linux
- sql injection
- mocOS
- str_replace함수
- utmp
- Error Based SQL Injection
- LOS 5번
- SQLi wargame
- Today
- Total
klaus
[Lord of SQL Injection] Cobolt 2단계 본문
1번문제 : 2022.11.20 - [모의해킹/Wargame] - [LOS] Gremlin 1단계
0. cobolt
1. 문제 - 02
코드분석
preg_match() 부분을 보면 1번 문제와 비슷하다 다만 pw부분에도 필터링이 들어간 점과 md5로 해싱처리 되었다는 점입니다.
식별/인증 동시 (with HASH) 케이스입니다.
다만, 필터링에서 보이는 것처럼 싱글쿼터와 더블쿼터 그리고 #을 모두 사용할 수 있다는 점은 동일합니다.
주목해야할 점은
if($result['id'] == 'admin') solve("cobolt");
elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>";
입니다.
아이디 부분에 특정 아이디(admin)로 로그인해야하며 admin이 아닐 경우 "You are not admin" 메세지를 출력합니다.
그러면
$query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
에서 어떻게 입력을 해줘야 할까요?
id 부분에는 admin을 넣어주고 SQL 쿼리 문법에 맞게 작성해야 합니다.
답은 따로 적지는 않겠습니다. 1번 문제와 비슷하지만 특정아이디로 로그인되어야 한다는 점이 다릅니다.
한번 내용을 읽어보시고 문제를 풀어보시기 바랍니다.
참고
노말틱 3기 취업반 SQLi - SQLi 연구 보고서 - 식별/인증 동시 (with HASH)
'모의해킹 > 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] goblin 3단계 (0) | 2022.11.21 |
[Lord of SQL Injection] Gremlin 1단계 (0) | 2022.11.20 |