일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jQuery
- element 조회
- IF문
- github
- property
- 김성엽 대표님
- 함수
- python
- object
- 백준 알고리즘
- blind sql injection
- 메소드
- 파이썬
- htmlspecialchars
- 조건문
- 백준 파이썬
- 사칙연산
- window
- document
- 자바스크립트
- 배열
- suninatas 풀이
- sql injection
- 포인터
- xss game
- Pwndbg
- lord of sql injection
- xss game 풀이
- 객체
- burp suite
- Today
- Total
목록War game (86)
power-girl0-0
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFNDRK/btq7DVxMYPb/1Cxac8H1pvwvahfGlD3mFK/img.png)
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 위와 같은, 퍼즐이 문제로 주어진 것을 확인할 수 있다. 어릴적 자주하던 게임이라서, 쉽게 풀 수 있었다. 퍼즐을 풀고 solved버튼을 클릭하니, 아래와 같은 페이지로 넘어간다. 입력창에 이름을 입력하면, 아래와 같이 로그가 남는다. 이를 여러번하면 새롭게 로그가 남겨지는 것을 확인할 수 있다. 입력창에 참을 만들어보아도, 문자열로 저장되는지 name에 그대로 출력된다. 소스코드를 살펴보자! 살펴보니, hidden이라는 타입을 가진 answer이 눈에 띈다.!! (수상해 수상해~~) display로 바꿔보았다. 안녕,,,?!! ㅋㅋㅋㅋㅋㅋㅋㅋ 위 결과물을 보면, 입력창에 값을 넣..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wRCKt/btq7C3XnQ1T/zjEeM2mjPeYBYA01GPmy71/img.png)
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 해당 페이지에서 입력창, 하이퍼링크 등이 없으니, 소스코드를 살펴보았다. 주석처리로, admin.php페이지가 존재한다는 것을 알려주고 있다. url에 admin.php로 이동해보았다. admin.php가 존재하는 것을 확인할 수 있으며, 비밀번호 입력창이 출력되었다. admin.php 소스코드를 확인한 결과, 추출할 만한 것이 없는 것으로 예측되어 쿠키값을 확인해보았다. time이라는 쿠키가 존재하고 있다!! 그러고 보니, 위 소스코드에서 확인했을 때, 현재시간이 주석으로 처리되어있던 것이 생각난다!! ( ㅇㅁㅇ;; ) 그럼 time이라는 쿠키값에 1을 입력하고, 해당 페이지를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DMSIc/btq6WPrXL6m/CVoM1pDeLxgOuNTZTMdKBk/img.png)
주소 : https://webhacking.kr/old.php Webhacking.kr webhacking.kr [ 풀이 ] 해당 문제는 level : 1이라는 문구가 출력되어 있고, view-source라는 하이퍼링크가 있는 것을 확인할 수 있다. view-source는 페이지 코드를 보여주는 것으로 아래와 같다. 코드를 보니, 위와 같이, cookie의 name이 user_lv이고 값이 3이상이면 풀리는 문제인 것을 예측할 수 있다. 하지만, 위 조건문을 보면 4와 같거나 크면 다시 1값으로 변경시킨다. 일단 현재의 쿠키값이 존재하는지 확인을 위해, 개발자도구를 이용하여 쿠키값을 확인하였다. user_lv의 값이 1인 것을 확인할 수 있다. 문제를 풀기 위해, 조건을 정리해보면 user_lv > 3과..
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcnyNu/btq0LQjcGsQ/3W3bPy1efKqJCv3KasShg1/img.png)
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제에서는 shit를 입력받아오고 있다. 쿼리문을 확인해보면, shit의 값을 공백으로 주면 풀리는 문제로 예상된다. 문제에서는 공백(%20), \n(%0a), \r(%0d), \t(%09) 가 필터링 되고 있으며, 길이도 1미만이여야 한다. if(strlen($_GET[shit])>1) exit("No Hack ~_~"); if(preg_match('/ |\n|\r|\t/i', $_GET[shit])) exit("HeHe"); 공백을 우회하려면 %0a, %0b, %0c, %0d, %09, (), /**/ 등이 있다. 하지만 위 필터링 되는 것과 ()와 /**/는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c17OgG/btq0Jw6juu9/DRYhxpBAtCyKwdLY9HO83k/img.png)
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 바로 이전 문제와 같이 no를 이용해서 pw를 유추하는 문제이다. pw에서 '(싱글쿼터)를 차단하고 있기 때문이다. if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); no에서는 '(싱글쿼터), substr, ascii, =, or, and, (공백), like, 0x를 차단하고 있다. if(preg_match('/\'|substr|ascii|=|or|and| |like|0x/i', $_GET[no])) exit("HeHe"); 이전 문제와 달리 좀 더 강하게 추가되었다. like 대신 in연산자를 이용하여, id="admin"을 입..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kxB74/btq0MU6zfzr/C8qExgNwFJVkUIAwPmNo30/img.png)
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제에서는 pw에서는 '(싱글 쿼터)를 차단하고 있고, no에서는 '(싱글 쿼터), substr, ascii, = 을 차단하고 있다. if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); if(preg_match('/\'|substr|ascii|=/i', $_GET[no])) exit("HeHe"); '(싱글쿼터)가 막힌 경우 "(더블 쿼터)로 대체할 수 있다. 해당 문제에서는 pw와 no의 값을 입력받아 처리한다. 따라서 pw는 '(싱글쿼터)가 이미 입력된 상태이므로, no를 이용하여 pw를 구해보자. 먼저, Blind sql ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7L0xX/btq0A25jSXZ/zX0waQKBQuvvzxGNcuTg4K/img.png)
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 먼저, 차단하고 있는 것을 확인해보자. if(preg_match('/or|and|substr\(|=/i', $_GET[pw])) exit("HeHe"); or, and, substr(, =을 차단하고 있다. 해당 차단은 아래와 같이 우회할 수 있다. or과 and는 || 와 &&로 대체할 수 있다. substr( )함수는 mid()함수로, =은 like로 우회가 가능하다. 이제 위 우회방법을 활용하여 id=admin을 입력해보자. ?pw=' || id like 'admin' %23 그 결과, 위와 같이 'Hello admin'이 출력되는 것을 확인할 수 있다. 이제, ..