일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- 자바스크립트 객체
- 자바스크립트 API
- GIT
- ES6
- php
- 카카오프로젝트100
- 오라클
- 자바스크립트 node
- 보안뉴스 한줄요약
- 카카오프로젝트 100
- 보안뉴스 요약
- 파이썬
- 다크웹
- numpy
- 랜섬웨어
- oracle db
- oracle
- Oracle SQL
- 자바스크립트 element api
- 자바스크립트 기본 문법
- 자바스크립트
- 카카오프로젝트
- 보안뉴스
- 자바스크립트 prototype
- 보안뉴스한줄요약
- 보안뉴스요약
- 깃허브
- javascript
- 자바스크립트 jQuery
- Today
- Total
목록Web Hacking/Lord of injection (19)
FU11M00N
안녕하세요!! 슬슬 날이 쌀쌀해지네요.. 추워질려나봅니다! 그럼 코드 보시죠! 블라인드인젝션문제이고, 금지된것은 prob , _(언더바) , .(쩜) , ( ) 인것같습니다! 그리고 regex와 like 함수를 막고있네요!! 일단 항상 그랬듯 길이부터알아냅시다! ?pw=1234 ' or length(pw) =40 %23 을 해줬는데요,, 이번 문제는 길이가 40인듯합니다.. 그럼 값을알아봅시다! 값은 substr 함수를 이용하여 알아보겠습니다! 문제가 좀 이상한것같아 아스키코드표에있는 값을 전부 대입해보니 값이안나와 확장 아스키코드표를 참고해 값을구해보니 나왔습니다. 확장아스키코드는 128~255 까지이고 확장아스키코드란 영문자와 숫자로 표현할수없는 문자를 넣어 확장하여 만든것입니다. 그럼 ord 함수를..
안녕하세요 벌써 18단계 많은 문제를 풀어봤네요!! 바로 코드봅시다!! 이번 문제에서 금지시키는것은 prob,_(언더바) , .(쩜) ,( ) , # , - 입니다.. 되게많네요,, 그 다음엔 strlen 저번에 설명해드린 길이를 알려주는 함수입니다. 이것으로 pw에 값은 6글자이하가 되어야겠네요!! solve는 id에 값이 오면 됩니다!! 이 문제 정말어려워서 저도 다른 글들 참조하면서 풀었습니다... 한번 풀이 가봅시다.. 우선 이 문제에서 자동 형 변환이라는 개념을 알아야하는데요.. 자동 형 변환이란 조건절에 있는 데이터 타입이 다르면 '우선 순위가 있는 쪽'으로 '형 변환'이 내부적으로 발생하게 되는 것을 말합니다. 자동 형 변환의 규칙은 다음과 같습니다. 1. 자동 형 변환은 테이블의 내용을 전..
안녕하세요!! 벌써 17단계입니다! 바로 코드보겠습니다!! 이번에도 비교적 코드가 짧습니다!! 이번문제에서 금지시키는 문자는 prob,_(언더바) , .(쩜) , ( ) 입니다!! 그리고 저번문제와는다르게 preg_match로 '(싱글쿼터) 금지시키고있네요.. 문제를 풀려면 id에 값이 아무거나와도 풀립니다! 이번문제를보자마자 '(싱글쿼터) 를 우회해야풀수있겠구나 생각하고 찾아봤지만 잘 안됐습니다.. 다른방법을 찾아본 결과 preg_match함수를 우회시키는 방법이있는데요 \(백슬래쉬) 를 사용하면 우회가 가능합니다. id 파라미터에 \를 넣게되면 id 필드를 닫는 싱글쿼터가 문자열로 인식되어 pw 필드를 여는 싱글쿼터까지(' and pw=') 문자열로 인식되게 됩니다. 이후 우리가 pw 파라미터에 넣어..
안녕하세요!! 오늘은 zombie_assassin 입니다!! 그럼 바로 코드 보시죠!! 음,, 이번코드에서 금지시키는것은 \\\ , prob , _(언더바) , .(온점) , ( ) 입니다!!! 아이디와 패스워드 둘다 preg_match가 되어있는데요, 그다음엔 ereg 함수로 ' (싱글쿼터) 를 금지시키네요! 저번에도 ereg함수로 문제를 풀었었는데요! ereg함수는 필터링이 완벽하지않아 불완전한..? 함수라고 볼수있는데요,, 대소문자 구분도 못하고 %00으로 null byte를 넣어주면 이를 문자열의 끝으로 인식 해 이 뒤의 문자는 필터링을 제대로 안하는 취약점이있습니다... 저 또한 %00 을 사용하여 풀었는데요! 그럼 id에 쿼리문을 입력하여 문제를 풀어봅시다! ?id=%00 'or 1=1 %23..
안녕하세요!! 이번엔 assassin 15단계입니다!! 자 이번 문제도 소스가 비교적 짧네요!! 보러 가 봅시다! 음 우선 preg_match로 금지시키는 문자는 '(싱글쿼터) 입니다. 쿼리문은 pw에 사용자 입력을 하는 것 같고요, &result ['id']가 admin이면 solve가 되어 문제가 풀립니다! 즉, 쿼리 문의 pw가 일치하는 id값을 가져와야 하는 건데요, 최종적으로 id가 admin인 pw를 알아내야 합니다!! 저는 처음에 이 문제를 보자마자 엄청 쉽네~ 하고 접근했다가 왜 안돼....... 가 되었습니다... 우선 문제에 대한 접근은 왜 where절에 pw = 이 아니고 pw like를 했냐 의심해야 봐야 합니다. 우선 w3 schools에서 like에 대해 자세히 알아봅시다. 링크..
이 문제를 드간순간 저는 기분이 너무좋았어요... 왜냐하면 블라인드인젝션 문제가아니였거든요!!!! 파이썬을못해서 하나하나 노가다하는게 너무 힘들었는데, 드디어 해방인기분!! 잡담그만하고 이제 소스 보겠습니다!! 먼저 처음등장한 함수 strlen이 등장했네요!! strlen 함수는 그냥 길이를 알려주는 함수입니다. 예시를 들자면 (한글일땐 값이 달라짐) echo "이것의 길이는??? : ". strlen("Edward"); 출력 : 6 대충 이해 하셨죠??? 그럼 if(strlen($_GET[shit])>1) 이것의 뜻은 shit이 한글자가 넘으면 No Hack~ 을 출력 할것입니다! 그리고 이번 문제에서 금지시키는것은 \n \r \t 입니다. \n새로운 줄 \r리턴 키 \t탭 키 금지시키는것때문에 왠만한..
이번문제에서 금지된것은.. 이번에 필터링 되는것은 no는 prob, _(언더바), .(쩜) , ( ) ,'(싱글쿼터), substr , ascii , = , or, and, like, 0x , 공백(스페이스바)이고 pw는 '(싱글쿼터) 이다. 문제에서 금지시키는게 정말많다..... 정말 많은 시간을 투자하여 생각해야한다.... substr -> mid and -> &&(%26%26) or -> || =, like -> in (뒤에 ()!!!) (공백) -> %0a 우선 우회를 해야할것을 찾아와봤다.. 이런식으로 문제를 한번 풀어보자 먼저 항상그랬듯!! 길이부터!! ?no=1%0a||%0aid%0ain%0a("admin")%0a%26%26%0alength(pw)%0ain%0a(8) 자.. 이렇게 길이를 구..
자 이번에도 블라인드 인젝션입니다... 이번에 필터링 되는것은 no는 prob,_(언더바), .(온점) , ( ) , '(싱글쿼터) , substr , ascii , =(이퀄) 이고 pw는 '(싱글쿼터) 를 필터링합니다. 정말 가면갈수록 시련을주네요,,, 개인적으로 난이도가 갑자기 올라간 문제라고 생각합니다.. 먼저 =은 like로 대체해주고 '(싱글쿼터) 는 "(더블쿼터)로 대체해줘서 풀어봅시다! 그리고 예전에했던 블라인드와는 다르게 쿼리문에 no가 생겼다. 우선 no에 블라인드를 할생각으로 풀어보자. 먼저 항상그랬듯이 길이부터알아내자 길이를 알아내는 함수는 length() 이다 ?pw=1234 && no=1 or id like "admin" %26%26 LENGTH(pw) like "8" 자 이렇게 ..