분류 전체보기

Web Hacking/Webhacking.kr

[webhacking.kr] 1번문제 (old-01)

들어가면 다음과 같은 화면이 뜬다. 소스코드는 다음과 같다. 페이지의 쿠키값이 숫자가 아니거나 6이상이면 쿠키값은 1이 된다. 쿠키값이 5보다 클때 solve된다. 따라서 페이지의 쿠키값이 5이상 6미만이면 문제는 풀린다. 크롬에 EditThisCookie라는 확장프로그램을 설치해서 이를 이용하였다. 값을 5.5로 바꿔주었다. 그러면 풀린다.

코딩테스트/백준

[백준 1157] 단어 공부

www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 알파벳이 대소문자로 이루어져있고 가장 많이 나온 글자를 출력하는 문제이다. 배열의 인덱스가 대문자의 아스키코드가 된다면 글자가 몇개가 나올지를 배열에 넣을 수 있을것이다. 즉, 예를 들어 s라는 배열이 있고 단어에 a가 2개가 나왔다면 s[65]==2가 된다. 배열의 인덱스를 대문자로 만들기 위해서 입력받은 문자열에 대해 toupper함수를 사용하면 된다. 주의해야 될것이 있다. 처음에 문제를 풀 때 for문에서 조건부분에 strlen(str)..

코딩테스트/백준

[백준 1152] 단어의 개수

www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 � www.acmicpc.net solved.ac에서 브론즈 2, class 1으로 책정된 문제 문제의 내용은 다음과 같다. 1. 단어는 띄어쓰기 한 개로 구분 2. 공백이 연속해서 나오는 경우는 없다 3. 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 공백이 포함되게 입력을 받고 문자열에서 공백의 개수를 구한다. 문자열의 맨 앞과 맨 뒤에 공백이 있는지 확인한다. 공백이 있으면 공백의 개수에서 -1을 해준다. 그리고 단어의 개수는 공..

Web Hacking/natas

[Natas] Level 12->Level 13

natas level 11->level 12 문제와 비슷한 문제인듯 하다. 다른점은 이미지 파일만 받는다고 한다. 코드를 보자 genRandomString() 함수는 $string에 characters[0~len(characters) 중 random한 숫자]를 붙여넣는다. 그리고 $string을 리턴한다. makeRandomPath함수는 random string에 path를 만들어 주는 함수로 path가 있는지 확인하는 함수이다. makeRandomPathFromFilename함수는 POST방식으로 filename을 받아서, 해당파일의 확장자를 확인하여 path를 만들어 리턴해주는 함수이다. 이 문제도 마찬가지로 확장자가 jpg로 들어가는 것을 알 수 있다. 전 문제와 다른 코드를 볼수가 있다. exif..

Web Hacking/lord of sqlinjection

[LOS] troll

문제 풀이 ereg함수를 통해 "admin"이 필터링 되었다. ereg함수는 preg_match 함수와 비슷한 함수이다. ereg('찾고자 하는 문자', '필터링 할 문자열') -찾고자 하는 문자가 있으면 True, 없으면 False를 출력 -대소문자 구별 x 아무튼 id값을 admin으로 받아와야 하는데 필터링이 되었으니 이를 우회해야한다. ereg함수를 우회하기 위해서는 어떻게 해야할까? 1. 대소문자 적절히 섞는다. 예를 들어, admin이면 ADMIN, Admin 등 2. %00 후 문자열 작성을 한다. 1번 방법으로 우회해보았다.

Web Hacking/xss

[XSS Challenges] Stage #4

문제 풀이 저번 문제하고 비슷하다. 다른점은 코드가 하나 더 들어있다. 바로 이 코드이다. 전 문제하고 비슷하지만 이 코드를 이용해서 뭔가를 하는것 같다. 개발자 도구를 이용해서 type을 text로 바꿨다. 그러면 다음과 같이 뜬다. value를 통해 값이 들어가기 때문에 stage #2를 풀었던 것과 비슷하게 하면 될것 같다. 폼 안에 hackeme">

Web Hacking/xss

[XSS challenge] Stage #3

문제 풀이 먼저 를 넣어보았다. 코드가 이렇게 바뀐다. 결과를 보자 꺽쇠나 그런것들이 html encoding 되는 것 같다. country를 고르는 것이 괜히 있는 것이 아닌것 같다. country를 고르고 search를 누르면 다음과 같이 코드가 들어간다. 큰따옴표 없이 코드가 들어가기 때문에 Japan 대신 가 오면 문제는 풀릴 것이다. 그렇다면 option태그의 내용을 로 바꾼다면 문제가 풀릴것이다. 개발자 도구의 console창을 이용하면 option 태그와 그 안의 내용을 script태그와 alert로 바꿀 수 있다. 일단 option태그의 내용을 받아오고 그것을 바꿔야 되기 때문에 dom객체를 이용하였다. option태그가 여러개이기 때문에 getElementsByTagName('option..

기타

Git을 공부해보자

자세한 내용은 https://git-scm.com/book/ko/v2에 있다. git을 더 깊게 공부하고 싶으면 위의 사이트 참고해서 공부하자 이것은 내가 공부한것만 요약해 놓은 문서로 오류가 있을수 있다. 혹시라도 오류가 있다면 바로 말씀해주시길... Git이란? 버전 관리 시스템. 되돌리고 백업하고 협업하기 위한 도구 Working direcotry, Staging area, Repository 버전이 되기까지 3개의 공간을 거쳐간다. 1. working directory 내가 코드작업을 하는 공간. 파일들이 생성/수정/삭제되는 공간. 변경사항이 생기는 공간. 변경사항들 중 다음 버전이 될 파일들을 선별해서 그 파일들을 버전으로 만든다. 2. staging area 버전이 될 후보들이 올라오는 공간...

Web Hacking/natas

[Natas] Level 11->Level 12

소스코드를 보자 genRandomString() 함수는 $string에 characters[0~len(characters) 중 random한 숫자]를 붙여넣는다. 그리고 $string을 리턴한다. makeRandomPath함수는 random string에 path를 만들어 주는 함수로 path가 있는지 확인하는 함수이다. makeRandomPathFromFilename함수는 POST방식으로 filename을 받아서, 해당파일의 확장자를 확인하여 path를 만들어 리턴해주는 함수이다. genRandomString함수를 통해 random한 스트링이 출력이 되고 확장자가 jpg로 바뀌는 것을 알 수 있다. 이 페이지에서는 파일을 업로드 하는것외에는 할수 있는게 없다. 따라서 burp suite를 이용해야 될거..

Web Hacking/xss

[XSS Challenges] Stage #2

문제 풀이 Hint: close the current tag and add SCRIPT tag... 현재의 태그를 닫고 script 태그를 넣어주면 된다고 한다. 소스코드를 확인해보면 값이 value에 들어가는 것을 확인 할 수 있다. 따라서 현재의 태그를 닫으라는 말은 input의 태그를 닫으라는 뜻이다. 그렇게 되기 위해서 value에서 닫혀야 한다. 그러므로 "> 라고 작성하면 value에서 태그가 닫히고 script태그가 넣어지는 것을 확인할 수 있다. 실제로 그렇게 된다.

ankisile
'분류 전체보기' 카테고리의 글 목록 (41 Page)