일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 객체
- 파이썬
- xss game
- IF문
- 배열
- property
- 사칙연산
- blind sql injection
- 메소드
- 백준 파이썬
- jQuery
- lord of sql injection
- 자바스크립트
- 함수
- python
- element 조회
- Pwndbg
- 포인터
- 조건문
- window
- document
- object
- 백준 알고리즘
- sql injection
- github
- htmlspecialchars
- xss game 풀이
- burp suite
- suninatas 풀이
- 김성엽 대표님
- Today
- Total
목록War game (86)
power-girl0-0
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제의 쿼리문에 and 1=0 때문에 혼란스러울 것이다. 하지만, 이전 문제를 풀어봤다면 '아~~ 뭐야~~'라는 생각이 들 수도 있는 문제이다. 쿼리문에는 id='guest'이라는 구문이 저장되어있다. 문제를 클리어하려면 id를 admin으로 변경해야만 한다. 그럼 'or연산을 사용해야되지 않을까?'라는 생각이 들 것이다. 그렇다. or연산을 이용하여 id='admin'을 입력하면 된다. 그런데 문제는 and 1=0이다. 이것을 어떻게 우회해야 될까???!! 바로 %23 즉, #인 주석처리를 하면 and 1=0은 인식되지 않는다. 따라서, 아래와 같이 입력하면 문..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제는 바로 이전 문제인 troll과 같이 대문자를 입력하여 우회하는 것이 불가능하다. strtolower( )는 대문자를 소문자로 변환시켜주는 함수이다. $_GET[id] = strtolower($_GET[id]); 또한, str_replace( )함수도 사용하여서, admin을 입력하였을시 삭제된다. str_replace( )는 문자열 치환 함수로, str_replce('찾을 문자','교체할 문자','교체 대상')형식으로 사용된다. $_GET[id] = str_replace("admin","",$_GET[id]); 해당 문제는 위의 두가지 함수를 참고하여, 조..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제에서는 '(싱클쿼터)와 admin을 차단하고 있다. if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match("/admin/", $_GET[id])) exit("HeHe"); 하지만 해당 문제에서는 id가 admin일 경우 clear가 가능하다. if($result['id'] == 'admin') solve("troll"); 잠깐!! 소스코드를 자세히 보니 admin을 차단하는 것으로, 대문자 ADMIN을 차단하지 않는 것 같다. 따라서, id에 ADMIN을 입력해보았다. 짜란!! 문제 CLE..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 이번 문제에서는 pw를 맞춰야 하는 문제로 예상된다. pw를 입력하지 않고 id에 admin만 입력한 결과, "Hello admin"문구를 확인할 수 있다. ? pw=' || id='admin'%23 해당 문제에서도 or을 차단하고 있기 때문에 || 기호를 사용해야한다. 위의 True결과를 활용하여, Blind Sql Injection으로 pw를 유추할 수 있을 것으로 예상된다. 먼저, pw의 비밀번호 길이를 유추해주는 파이썬 코드를 작성해보자. import requests url = 'https://los.rubiya.kr/chall/orge_bad2f25db233a..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 앞서 풀어본 문제와 같이, 해당 문제도 id가 admin일 경우 문제를 풀리는 것으로 예상된다. if($result['id'] == 'admin') solve("darkelf"); 이번에도, or연산을 활용하여 id에 admin값을 넣어보자. ?pw=' or id='admin'%23 하지만, 아래와 같이 'HeHe'라는 문장이 출력된다. 소스를 살펴본 결과, or과 and가 차단된 것을 확인할 수 있다. if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe"); 근데, or연산의 || 기호는 차단되지 않은 것 같다. or연산 대신 |..
주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 문제를 확인해본 결과 , 11줄과 같이 id가 admin이면 문제를 CLEAR할 수 있다. if($result['id'] == 'admin') solve("wolfman"); 하지만 쿼리문에 id=guest가 이미 작성되어 있기 때문에, or연산을 이용하여 문제를 풀 수 있다. ? pw=' or id='admin'%23 위와 같이 앞 쿼리는 false로 만들고, 뒤는 true값을 줘서 id가 admin이 되도록 입력해보자. 하지만, 아래와 같이 출력되는 것을 확인할 수 있다. 확인 결과, replace함수를 통해 띄어쓰기를 차단하고 있었다. if(preg_match('..
해당 글에서는 requests모듈을 사용하여 풀었기 때문에, requests모듈에 대해 모르시는 분들은 아래 주소를 보고 오시면 좋을 듯 합니다. ( 2021.03.18 - [언어/Python] - requests 모듈 ) 주소 : https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr [ 문제 ] [ 풀이 ] 해당 문제에서는 아래 조건을 통과해야 CLEAR할 수 있다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orc"); 즉, pw를 맞춰야 문제가 풀린다. 소스코드의 9줄을 보니, id를 맞추면 'Hello admin'이라는 문장을 출력해준다. 이를 이용해서, Blind SQL Injec..
주소 : http://suninatas.com/ 써니나타스 웹해킹, 포렌식, 리버싱, 암호학, 해킹 워게임 제공. www.suninatas.com [ 풀이 ] 8번 문제는 로그인 창이 있는 페이지이다. 먼저, 소스코드를 살펴보자!! 소스코드를 보니, 주석처리로 힌트를 주고 있다. id는 admin이고 password는 0~9999까지라는 뜻이다. 그렇다면 password를 0~9999까지 하나씩 입력하면, admin의 비밀번호를 알 수 있을 것이다. 직접 하나씩 입력하기에는 많은 시간이 필요하기 때문에, 파이썬으로 간단하게 구현해서 비밀번호를 찾아냈다. 코드는 아래와 같다. import requests url ='http://suninatas.com/challenge/web08/web08.asp?' fl..