Always-Try(정보보안 및 일상)

webhacking.kr - Challenge(old) - 8번 본문

Pen Test

webhacking.kr - Challenge(old) - 8번

Always-Try 2021. 3. 2. 18:55

#1. 8번

1-1. 문제

1-2. 풀이

view-source를 클릭해보자.

 

 

 

하나씩 뜯어보자.

 

일단 user_agent 값을 $agent에 넣고, 내 ip를 $ip에 넣는다. $agent에는 일부 필터링도 하고 있다.

그 후 db에 연결해서 id 컬럼의 개수를 확인해서 $count_ck 에 넣고, 개수가 70개 이상이면 삭제한다.

 

 

이후에는 접속한 ip의 user_agent를 조건으로 걸고 id 값을 추출하여, $result에 넣는다. 그 값이 admin 이면 해결된다.

만약, $ck 값이 없다면 접속자의 user_agent, 접속자의 ip 그리고 'guest 라는 고정된 값'이 입력된다.

 

결과적으로, user_agent에 내가 원하는 값(ex. dddd)과 id 값을 admin으로 해주는 sql 구문을 넣어주고, 다시 호출할때, user_agent에 dddd를 입력해서 $ck[0]에 admin이 출력되게 하면 문제가 해결 될 것이다.

 

test','1.1.1.1','admin'),('aaaa


 

 

 

 

 

 

 

Comments