본문 바로가기

인코딩

(2)
webhacking.kr 11번 문제 풀이 오늘은 그동안 못했던 웹해킹을 다시 해보려고 한다. 간단하게 11번으로 시작해보자. 문제에 들어가면 다음과 같은 창이 반겨준다. GET을 통해 val을 받는다는데 html이라고 적혀있어서 당황했으나, 잘 확인해보니 이 페이지가 PHP로 구동되고 있다는 사실을 알 수 있었다. 주어진 PHP 코드를 분석해보자. 1 2 3 4 Colored by Color Scripter cs pat이라는 변수에 조건이 있고, GET을 통해 받은 val을 비교하여 값이 같으면 풀리는것 같다. pat의 조건은 다음과 같이 정리할 수 있다. 코드 역할 충족할 값 [1-3] 1~3에서 1개를 선택합니다. 1 [a-f]{5}_ a~f에서 5개를 선택합니다. abcde .*172.0.0.1.* .*172.0.0.1.* \tp\ta\t..
webhacking.kr 23번 문제 풀이 그럼 오늘은 webhacking.kr 23번 문제를 풀어보도록 하자. 를 입력하라는게 목표라고 한다. 뭐, 그쯤이야 쉽지... 라고 생각하던 순간... WTF? 뭔가 이 페이지의 코드에 Javascript에 쓸만한 내용이 있지 않을까? 라는 생각으로 확인했더니 ... Nope 그러면 우리가 직접 필터링되는 단어를 찾아봐야겠죠? 보아하니 특수문자는 막히지 않은것 같네요. script라는 단어와 script를 자른 단어가 되지 않는것으로 보아, sc, cr, ri, ip, pt 의 형태로 차단된것으로 보입니다. 따라서 우리는 %00으로 뛰어쓰기 처리를 해봅시다. 그렇다면 구문은 다음과 같이 작성되겠죠? a%00l%00e%00r%00t%00(1);%00 form에 소속된 칸을 통해 제출하면 %를 인코딩시켜 %..