Season 1
-
이번 문제는 Orc 문제와 Darkelf 문제를 혼합한 문제이다. or, and가 필터링되어 있기 때문에 ||, &&를 이용하면 되고, addslashes 함수를 통해 ', ", \, Null 바이트를 사용하지 못하게 치환하기 때문에 문자열은 Hex 값으로 넘겨주면 우회가 된다. import requests, string, itertools url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php' headers = {'Cookie': 'PHPSESSID=vu81ckm9savbopm00mj0sj2b9i'} def pwLength(): for num in range(1, 100): parameter = f"?pw='||LENG..
[Lord of SQLInjection] Orge Write UP이번 문제는 Orc 문제와 Darkelf 문제를 혼합한 문제이다. or, and가 필터링되어 있기 때문에 ||, &&를 이용하면 되고, addslashes 함수를 통해 ', ", \, Null 바이트를 사용하지 못하게 치환하기 때문에 문자열은 Hex 값으로 넘겨주면 우회가 된다. import requests, string, itertools url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a7542be75844e314e9f3.php' headers = {'Cookie': 'PHPSESSID=vu81ckm9savbopm00mj0sj2b9i'} def pwLength(): for num in range(1, 100): parameter = f"?pw='||LENG..
2021.07.16 -
보호되어 있는 글입니다.
SSTI 실습보호되어 있는 글입니다.
2021.07.16 -
보호되어 있는 글입니다.
SSTI 개념 정리보호되어 있는 글입니다.
2021.07.16 -
level 8 같은 경우는 GIF 파일만 올릴 수 있으며 우회를 하여 flag값을 얻는 문제인거 같다. 소스보기를 통해 살펴보니 업로드 파일 크기, 파일 확장자 체크를 하는듯 보인다. 이를 통해서 flag 값을 얻을려면 아마 웹쉘같은 파일을 업로드 시켜보면 flag 값에 대한 힌트를 받을 수 있지 않을까 라는 생각으로 접근을 하였다. 그러나, 웹쉘 파일을 통해서 시스템 명령어를 넣어서 업로드 시켜보았지만 먹히지 않았다.. 그러던 중 소스코드에서 php를 사용하는 것을 보고 php 명령어를 찾아보는 중에 scandir함수를 발견했다. scandir() 함수는 지정된 디렉토리의 파일 및 디렉토리의 배열을 반환하는 함수이다. 이를 바탕으로 문제를 풀어보자! 문제를 푸는데 사용하는 명령어는 아래와 같다. 짜란!..
[websec.fr] easy - Level 08level 8 같은 경우는 GIF 파일만 올릴 수 있으며 우회를 하여 flag값을 얻는 문제인거 같다. 소스보기를 통해 살펴보니 업로드 파일 크기, 파일 확장자 체크를 하는듯 보인다. 이를 통해서 flag 값을 얻을려면 아마 웹쉘같은 파일을 업로드 시켜보면 flag 값에 대한 힌트를 받을 수 있지 않을까 라는 생각으로 접근을 하였다. 그러나, 웹쉘 파일을 통해서 시스템 명령어를 넣어서 업로드 시켜보았지만 먹히지 않았다.. 그러던 중 소스코드에서 php를 사용하는 것을 보고 php 명령어를 찾아보는 중에 scandir함수를 발견했다. scandir() 함수는 지정된 디렉토리의 파일 및 디렉토리의 배열을 반환하는 함수이다. 이를 바탕으로 문제를 풀어보자! 문제를 푸는데 사용하는 명령어는 아래와 같다. 짜란!..
2021.07.14 -
이번 문제는 Wolfman 문제에서 발전된 문제이다. Wolfman의 정답을 그대로 보내봤지만, or, and가 필터링 되어서 통과를 못하는 것을 볼 수 있다. 그럼 or, and를 대체 문자를 이용하여 필터링을 우회하면 된다. or, and는 ||, &&로 대체할 수 있다. ||, &&를 사용하면 공백을 넣을 필요 없이 구분할 수 있어서 (, )를 사용하지 않아도 된다.
[Lord of SQLInjection] Darkelf Write UP이번 문제는 Wolfman 문제에서 발전된 문제이다. Wolfman의 정답을 그대로 보내봤지만, or, and가 필터링 되어서 통과를 못하는 것을 볼 수 있다. 그럼 or, and를 대체 문자를 이용하여 필터링을 우회하면 된다. or, and는 ||, &&로 대체할 수 있다. ||, &&를 사용하면 공백을 넣을 필요 없이 구분할 수 있어서 (, )를 사용하지 않아도 된다.
2021.07.14 -
pw를 입력을 받는데, 쿼리문의 결과 id는 admin이어야 문제를 풀 수 있다. 필터링되는 문자은 prob, _, ., (, ), 공백이다. 일단 or 연산을 이용하여 id='guest' and pw='' or id='admin' -> False or True으로 만들어줘서 True인 id='admin'이 작동하도록 하겠다. 하지만 or id='admin'에는 공백이 있어서 if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");이 작동되었다. 그래서 or 뒤에 공백 대신 ()를 감싸줘서 공백을 없애주도록 하겠다. or 뒤 (,)은 No Hack ~_~ 조건문에 걸리지 않는 듯 하다.
[Lord of SQLInjection] Wolfman Write UPpw를 입력을 받는데, 쿼리문의 결과 id는 admin이어야 문제를 풀 수 있다. 필터링되는 문자은 prob, _, ., (, ), 공백이다. 일단 or 연산을 이용하여 id='guest' and pw='' or id='admin' -> False or True으로 만들어줘서 True인 id='admin'이 작동하도록 하겠다. 하지만 or id='admin'에는 공백이 있어서 if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");이 작동되었다. 그래서 or 뒤에 공백 대신 ()를 감싸줘서 공백을 없애주도록 하겠다. or 뒤 (,)은 No Hack ~_~ 조건문에 걸리지 않는 듯 하다.
2021.07.14