본문 바로가기

보안공부/Webhacking.kr 풀이

Webhacking.kr 8번 문제 풀이

8번 문제에 들어가니 어서오라고 한다.

코드를 보아하니 이 문제의 admin이 되는것이 목표인 모양이다.

그런데 맨 위쪽을 보니 IP와 User-Agent를 수집하고 있다.

(이쯤에서 대충 User-Agent로 SQL 인젝션 할것 같다는 감이 왔다.)

위와같이 생각하던 찰나, 다음 코드를 발견하게 된다.

User-Agent값과 IP를 활용하여 등록을 하는 모양인데, Prepared statement등의 별다른 요소가 없는것을 보아 SQL 인젝션이 가능할것이라고 가늠할 수 있었다.

User-Agent값이 담기는 $agent에 인젝션 구문을 삽입하고 SQL의 주석인 #을 활용하여 뒷부분을 비활성화 시켜주면 될 것 같다.

따라서 다음과 같은 구문을 생각해내었다.

qwert', '[아이피]', 'admin'

우선 피들러로 패킷을 잡고,

잡은 패킷의 User-Agent 값을 내가 작성한 SQL 구문으로 변경해주었다.

위와 같이 값을 변경해준 뒤, 보냈더니 done이 출력되며 사용자 추가(?)가 완료된다.

그럼 이제 우리가 추가한 qwert를 User-Agent로 담아 요청을 보내보자.

보내면 우리가 선언한 admin으로 로그인되며 문제가 풀리게 된다.

'보안공부 > Webhacking.kr 풀이' 카테고리의 다른 글

Webhacking.kr old-07 풀이  (0) 2021.03.07
Webhacking.kr 36번 문제 풀이  (0) 2019.09.17
Webhacking.kr 8번 문제 풀이  (0) 2019.09.17
Webhacking.kr 60번 문제 풀이  (0) 2019.09.15
Webhacking.kr 48번 문제 풀이  (0) 2019.09.14
webhacking.kr 44번 문제 풀이  (0) 2019.09.13