일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Pwndbg
- property
- 조건문
- jQuery
- 백준 파이썬
- python
- xss game
- 파이썬
- 김성엽 대표님
- 함수
- htmlspecialchars
- window
- 배열
- element 조회
- github
- xss game 풀이
- 사칙연산
- IF문
- object
- 백준 알고리즘
- blind sql injection
- lord of sql injection
- sql injection
- 메소드
- document
- suninatas 풀이
- 자바스크립트
- burp suite
- 객체
- 포인터
- Today
- Total
목록분류 전체보기 (389)
power-girl0-0
랜덤한 수의 합 맞추기 #include #include #include using namespace std; int main(){ int a, b, answer,result; int count=0; srand(time(NULL)); while(1){ a = rand()%10+1; b = rand()%10+1; result = a+b; cout
간단한 문자열 입력받아 출력하기 #include using namespace std; int main(){ cout
주소 : 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, (), /**/ 등이 있다. 하지만 위 필터링 되는 것과 ()와 /**/는..
주소 : 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"을 입..
주소 : 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 ..
주소 : 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'이 출력되는 것을 확인할 수 있다. 이제, ..
주소 : 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]); 해당 문제는 위의 두가지 함수를 참고하여, 조..