분류 전체보기

19.Xavis 풀이. if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");if(preg_match('/regex|like/i',$_GET[pw])) exit("HeHe");정규표현식이랑 LIKE를 필터링하고 있다.다른 코드를 봐도 특별히 주의해야 할 코드는 없고, 즉 admin의 pw만 알면 되는 Blind sql injection 문제.일단 비밀번호 길이를 알아본다.pw=' or id='admin' and length(pw)=40%23 입력. 일단 pw의 길이가 40이라는 것을 알았다.일단 정말 길이가 40일지 아닐지 아니면 NULL을 통해 특정 값부터는 값이 없을 수 있기에 확인해본다.substr 사용. ?pw=%27||substr..
18.Nightmare 풀이. if(preg_match('/prob|_|\.|\(\)#|-/i',$_GET[pw])) exit("No Hack ~_~");if(strlen($_GET[pw])>6) exit("No Hack ~_~"); pw는 6자리까지 사용할 수 있다. 조건을 참으로만 만들어주면 문제를 해결할 수 있을 거 같다.#,-- 주석이 필터링 되어 있어서 ;%00 세미콜론 뒤에 NULL 넣어준 것. 일단 그냥 id값만 나오게 하면 된다.필터링 되어있는 #과 --를 빼고, 나머지 ;%00, /**/ 되는지 확인해본다. 일단 admin이 뜬 걸 보니 ;%00과 /**/은 쓸 수 있는 것으로 알 수 있다.초반에 pw의 길이는 최대 6자리니까 둘 다 해보도록 하겠다.SQL에서 문자열은 0이기에 어떤 문자..
17.Succubus 풀이. if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");if(preg_match('/\', $_GET[id])) exit("HeHe");if(preg_match('/\', $_GET[pw])) exit("HeHe");$query = "select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; 음... 그 전 문제인 zombie_assassin과 상당히 유사한 문제이고, 차이점은 ereg이 아니라 preg_match로 필터..
6.Numerical calculation. 파이썬은 C나 java와 다르게 Hello World가 아닌 숫자 계산을 먼저 한다. #ADD. 틀이 없다. 그냥 아무것도 없다. 숫자 범위도 없다. 무제한으로 계산해준다. #Multiply. 소수점 계산도 친절히 알아서 다 해준다. 너무 편하다.int 형에서는 숫자 앞에 0을 넣어주면 에러가 발생하고,소수점 계산에서는 앞에 0을 붙여도 에러를 안 띄운다. #Division. 역시 알아서 다 해준다.전부 소수점까지 표시해준다.숫자가 길어지면 알아서 e를 사용해서까지 표시해준다. CF)Decimal Divide ==> 소수점 버려주는 나누기. 그냥 //
5.Function part2. #Lambda function. 필요한 곳 어디에서나 쓰일 수 있는 함수.return 구문을 적을 수 없는 함수.한 줄을 실행한 결과 값이 바로 return.lambda 인자 => . Ex) 간단하면 람다 함수를 사용하는 것이 편리. num = lambda x,y : x*y => num이라는 lambda 함수 선언.num(1,2) => 1,2 인자를 받아 1*2 계산.(lambda x,y : x*y) (3,2) => 바로 익명 함수 실행 가능. #Pass. 클래스 or 함수에서 아무런 동작도 수행하지 않도록 하는 것.아무것도 하지 않는 함수, 모두를 클래스 만들어야 할 때 사용. Ex) pass => 아무것도 수행하지 않는 빈 깡통으로 저장. #Help Function. ..
4.Function. #Function declaration. def로 시작해 콜론[:]으로 끝낸다. Cf(파이썬에서는 함수도 객체로 취급).함수의 시작,끝은 Begin,End와 같은 문법 X.globals() ==> 파이썬 내장 함수로, 생성된 함수 객체들을 볼 수 O. Ex) return num1 + num2 ==> 두 개의 인자를 받아 합을 구하는 함수 생성.f_Plus(10,20) ==> 함수 실행.globals() ==> globals 내장 함수를 사용하면 생성된 함수들이 출력. #return. 리턴 형은 어떠한 객체든 돌려줄 수 있고, 여러 개의 값을 튜플 단위로 묶어서 보내기 가능. Ex) def f_SetValue(val): x = val ==> 리턴 형이 없는 경우 None을 반환.def..
3.List,set,tuple,dictionary. #List. 값의 나열, 여러가지 종류를 표시 가능.[ ]로 정의. Ex) 리스트 추가 예제 ==> append(), insert(), + 연산자 이용. name.append("ki") 리스트를 추가.name.insert(3, "park") 3번째 인덱스에 "park" 추가.name.extend(addNames) extend를 사용해서 리스트나 튜플 값 한꺼번에 삽입 가능.name += ["jo"] plus 연산자로도 가능.name += "kim" 일반 문자열을 더 할 경우 문자 인덱싱되어 추가. #List Find and Remove. index()을 이용해 찾고, pop()와 remove()을 이용해 지운다. name.index("jung") ==>..
2.output,character,operators. #Output. Cf) 파이썬은 중요 특징 중 하나는 들여쓰기가 매우 중요.들여쓰기를 이용해서 코드 흐름을 파악하기에 맞지 않을 경우 오류가 발생. 위의 화면처럼 print를 들여쓰기 안 하면 오류가 난다. #Variable. 숫자가 앞에 있는 변수, 예약어를 제외하고 변수 선언 가능.대,소문자 구별.튜플,리스트,다중 치환 가능. 첫번째 줄 ==> 소문자.두번째 줄 ==> 대문자.세번째 줄 ==> 튜플 사용.네번째 줄 ==> 리스트 사용.다섯번째 줄 ==> 다중 치환. #Shame. Python 2.x => 3으로 넘어오면서 long 형은 int 형으로 통일.연산자 종류 => +,-,/,%,** 첫번째 줄 ==> 더하기.두번째 줄 ==> 빼기.세번째 ..
Allblackk
'분류 전체보기' 카테고리의 글 목록 (25 Page)