klaus

[Lord of SQL Injection] Cobolt 2단계 본문

모의해킹/Wargame

[Lord of SQL Injection] Cobolt 2단계

klus! 2022. 11. 20. 16:27

1번문제 : 2022.11.20 - [모의해킹/Wargame] - [LOS] Gremlin 1단계

 

[LOS] Gremlin 1단계

워게임 중 SQL INJECTION 관련 문제를 푸는 것입니다. 노말틱님이 추천해주신 워게임 중 하나입니다.던전의 몬스터를 점령(?)하는 문제인듯 합니다!!! 문제 하나 하나 코드를 확인해보고 답을 찾아가

toriyong.tistory.com

 

0. cobolt

https://ko.wikipedia.org/wiki/코볼트

 

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)

Comments