일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- lord of sql injection
- Pwndbg
- 조건문
- 백준 알고리즘
- jQuery
- 함수
- 메소드
- python
- 백준 파이썬
- blind sql injection
- 객체
- 김성엽 대표님
- xss game 풀이
- property
- suninatas 풀이
- 사칙연산
- document
- sql injection
- burp suite
- window
- xss game
- 포인터
- element 조회
- htmlspecialchars
- github
- 자바스크립트
- 파이썬
- IF문
- 배열
- object
- Today
- Total
목록War game (86)
power-girl0-0
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 미션이 flag.php라는 파일을 읽는 것이다. 링크를 클릭하니, 아무것도 출력되지 않는 것을 확인할 수 있다. 웹쉘 공격인가 하여, 임의의 webshell코드를 올린 결과
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 이번 문제는 sql injection문제이다! 위 소스코드를 살펴보면, 쿼리에 의해 구해진 r의 id가 admin일 경우 문제가 풀리는 것을 알 수 있다. 친절하게 필터링과 admin의 no가 2인 것을 알려준다 ㅎ_ㅎ 필터링은 #, select, (, 공백, limit, =, 0x 를 하고 있다. 그래서, #대신 --를 사용해서 주석처리를 하고 공백 대신 %09를 사용하였다. 또한, =대신 like를 사용하여 값을 전송하였다. ?no=0)%09or%09no%09like%092-- 쿼리 에러가 발생한다.!! 알아보니, --뒤에 공백이 있어야 한다고 한다!! 그래서 뒤에 공백하나를 ..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] view-source라는 링크만 출력되어 있다! 아래는 출력된 소스코드의 일부이다. 분석결과, get방식으로 id가 admin이면 문제가 풀리는 것을 확인할 수 있으며, admin을 필터링하고 있다! 또한, get방식으로 받아온 id를 urldecode하여 if문으로 admin을 확인하고 있다. 따라서 admin을 urlencode하여 전송하면, 문제가 풀릴 것으로 예상된다. urlencode코드표를 참고하여 admin을 인코딩하면, %61%64%6D%69%6E와 같다. 하지만, urldecode되어서 필터링에 걸리는 것을 확인할 수 있다. 그렇다면, 한 번 더 인코딩해보자! ( ..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 리눅스 환경으로 출력되어 있는 것을 볼 수 있으며, 느낌상 flag.php파일을 읽으면 풀릴 듯 하다! 먼저, get방식으로 file이라는 곳에 hello가 적혀있는 것을 확인할 수 있다. 그래서, hello 대신 flag를 적어보았다! FLAG is in the code라는 구문이 출력되는 것을 확인할 수 있다. 직접 경로를 넣어도 보니, 아래와 같이 같은 구문을 출력한다! 음,,, 서버에 있는 flag.php페이지를 어떻게 읽을까??에 대해 고민하다가 검색을 통해 알게 되었다! LFI(Local File Inclusion) 취약점인 것을 알 수 있었다. 이 문제의 경우, php..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] ip가 틀렸다고 한다. 소스코드를 살펴보도록 해보자! 소스코드를 보면, ip가 127.0.0.1이면 문제가 클리어되는 것을 알 수 있다! 또한, 문자열이 치환된다는 것을 확인할 수 있다! 1) . . => . 2) 12 => 없는 값 3) 7. => 없는 값 4) 0. => 없는 값 치환되는 것을 바탕으로 우회하여, 127.0.0.1로 값을 바꿔보자! 예측 결과 112270..12.00...00...1을 하면, 값이 나올 것으로 예상된다. 따라서, REMOTE_ADDR을 바꾸기 위해 콘솔창을 이용하여, 아래와 같이 입력해주었다. javascript:document.cookie="R..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] XSS공격에 대한 문제로 예측된다. 입력창에 스크립트구문을 입력하여, 제출하니 아래와 같이 "no hack"이라는 구문이 출력된다. 필터링이 되는 것 같다! 여러 시도를 해서 어떤 것을 필터링하는지 알아보자. script,alert를 필터링하고 있고 , (, ), ; 가 필터링되지 않는다! 한가지 알아낸 점은 알파벳 한개이상 입력시, 필터링된다. 따라서, 스크립트에서 한글자씩 띄어서 전송해보았다. a l e r t ( 1 ) ; 그 결과, 아래와 같이 문자열로 받아들여지는 것을 확인할 수 있다. 띄어쓰기 대신, tab을 ..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 미션과 컬럼 이름을 친절하게 알려주고 있다! join을 누르면 아래와 같이, 가입할 수 있는 폼으로 넘어갈 수 있다. 먼저, admin으로 가입하려고 하니 이미 가입한 사람이라고 출력된다. 임의의 username으로 가입한 결과, 아래와 같이 가입이 되었다고 출력된다. 로그인 결과, 아래와 같이 hash값이 출력되는 것을 확인할 수 있다. 그럼 임의로 가입한 아이디를 이용해서, 참값을 전송해보자. id : dobbygation' and 1=1# / pw : 1 아래와 같이, "Wrong password!"라는 구문이 출력되는 것을 확인할 수 있다. 그렇다면, 거짓된 값을 전송시 어..
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 친절하게 blind sql injection문제라고 출력되어있다. 임의의 값으로, admin/admin을 입력한 결과 login fail이라는 결과가 출력되었다. guest/guest를 한결과는 아래와 같이 login success문구를 출력한 것을 볼 수 있다. 만약 guest아이디의 비밀번호를 틀렸을시, 틀렸다고 출력되는지 확인해보자. id : guest / pw: 0' or '1'='1 그 결과, 비밀번호가 틀렸다고 출력된다. 그렇다면, admin이라는 id가 존재하는지 확인해보자. id : admin / pw: 0' or '1'='1 비밀번호가 틀렸다고 출력되는 것을 보아,..