level23[old]

2022. 3. 23. 23:18Site/Webhacking.kr

이번시간에는 level23를 풀어보겠습니다

공부하는 입장이니 틀린 것 이있더라도 양해부탁드리겠습니다


level23에 들어가니 <script>alert(1);</script>를 주입하라고 합니다

일단 그래서 주입했습니다

주입하니 no hack이라는 문구가 뜨네요

이번에는 숫자1을 입력하니 1이 잘출력되었습니다

특수문자

숫자 + 특수문자

단일 알파벳 모두 출력이 잘되는데

알파벳을 연속으로 입력할때 no hack이라는 것을 출력하는 것을 알게 되었습니다

그래서<script>alert(1);</script>구문도 no hack이라고 뜬것 같네요

 

그래서 연속하지않고 <script>alert(1);</script>를 각 단어마다 공백을 주어서 접근을 해보았는데 뛰어쓰기된 문자열만 출력되고 실패한거 같습니다

혹시 공백을 사용 못하나 생각하고 공백우회문자인 %0a로 대처하고 입력해도 결과는 같네요...

다른 우회방법들을 찾아보니 NULL문자를 사용해서 우회하는 방법이 있습니다

특수문자나 특수문자와 연결되는 문자를 제외한 문자열끼리의 공백사이에다가 %00을 넣어주고

GET방식으로 값을 받으니 url에다 값을 넣어주면 클리어 될것같습니다

<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>


 

cf)

null byte injection : URL 로 인코딩된 Null 바이트 문자(%00 or 16진수의 0x00)를 사용자 제공 데이터 에 추가하여 인프라의 온전성 검사 필터를 우회하는 데 사용되는 공격 기술

-> null문자 앞까지만 출력, null문자 만나면 문장의 끝으로 간주함

    위 경우 연속되는 문자열사이에 null을 삽입하여서 null때문에 문자열이 끊겨 우회가 가능했었음

'Site > Webhacking.kr' 카테고리의 다른 글

level36[old]  (0) 2022.03.24
level38[old]  (0) 2022.03.24
level39[old]  (0) 2022.03.23
level27[old]  (0) 2022.03.23
level25[old]  (0) 2022.03.21