웹해킹/bee-box

HTML Injection- POST(medium, high)

3년안에 내집 마련 2019. 7. 26. 17:40
반응형

(low)단계를 수행한 다음 (medium)단계를 풀어보도록 하겠다.

처음에는 정상적인 값을 입력해 보겠다.

이제 정상적인 값을 입력하고 패킷을 잡은 후 난이도 (low)에서 입력한 값으로 변경 후 확인해 보았다.

결과)

다음과 같이 태그 값이 먹히지 않았다.

저번에 GET HTML Injection에서 배운대로 '<' = '3C' , '>' = '3E'로 바꿔 보았다.

바꿨는데도 아까랑 값이 똑같았다...

왜 그런가 했더니 (medium)단계에서는 더블 인코딩이 사용되고 있었다.

(더블 인코딩 : 인코딩에서 사용하는 %마저 인코딩을 하였다.)

그러므로 %의 인코딩 값인 %25를 사용해서 코드를 작성해야 한다.

fisrtname=%253Ch1%253EPractice%253C/h1%253E&lastname=%253Ca href ="http://tkdrms568.tistory.com"%253Eclick here%253C/a%253E

이 외계어 같은 값...(계속 오타나서 5번정도 반복하였다...)

이제 값을 집어넣고 Intercept를 풀어주면

다음과 같이 원하는 모양으로 나왔다.

정말 간단한 문제지만 성격 급한 나는 오타를 너무 많이 내 시간이 좀 오래걸렸다. 

 

이문제를 해결하기 위해서는 2개만 알면된다.

1. < = %3C, > = %3E

2. 그와중에 %마저 인코딩 되었기에 % = %25로 바꿔줘야 한다.

 

난이도(high)은 htmlspecialchars 함수로 입력값을 우회하여 특수문자를 UTF-8 형식으로 변환하여 인젝션 공격을 수행할 수 없다...(그래서 안하기로 했다...)

 

반응형