분류 전체보기

    [LOSI] Lord of SQL Injection 문제풀이 포스팅을 시작하며

    약 1년전 열심히 풀었던 SQL Injection Hack Web인 Lord Of SQL Injection의 문제풀이를 적어두려고한다. 필자또한 독자와 같이 새로운 계정을 생성해서 처음부터 문제를 풀어나가보려고한다. Lord of SQL Injection은 SQL injection의 입문으로, 또한 이미 SQL Injecion에 통달한 사람들에게도 되새김 할 수 있는 좋은 홈페이지이니 SQL Injection에 관심있는 사람이라면 가벼운 마음으로 읽어보면 좋을 거 같다. * 재미도 있다. 던전형식을 오마주한Hack Web이다. 주소는 다음과 같다. los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr 들어가면 다음과 같은 퀘스트 지령서가 우리들을 반긴다. [enter ..

    [Python] - 모듈탐구 sys - 우리 Python 해부하기

    sys모듈은 Python 인터프리터의 환경설정 등에 접근한다. 흔히 사용하는 sys.modules 나 sys.path 뿐만이 아니라 더욱 폭넓은 기능과 정보들을 가지고 있으니, 이번 시간을 통해서 자세히 알아보도록 하자 sys에서 제공하는 정보 1. sys.argv : Python 스크립트에 전달된 명령 줄의 인자를 LIST형태로 전달한다. 스크립트 이름은 sys.argv[0]를 가지고 뒤에 전달이 되면 순서대로 sys.argv [1], [2]가 된다. 만약 실행형 옵션인 -c를 설정하면 sys.argv [0]는 "-c"가 된다. 2. sys.byteorder : 현재의 바이트표기법이 little인지 big인지를 표시한다. 3. sys.builtin_module_names : 현재 Python 인터프리터..

    [Python] - 모듈탐구 os - Python으로 내 컴퓨터 조작하기

    와 글이 날아갔다. 다시 쓴다. os는 Python에 내장되어있는 모듈 중 하나로, 저수준의 파일과 디렉터리 작업을 지원한다.(고수준의 기능과 확장성, 이식성이 필요하다면 shutil이라는 더 적합한 모듈이 있다.) 옛날 Latte에는 DOS OS를 이용한 window를 사용을 했다.(그 때의 Window는 이런 이쁘장한 화면 없었다~ 이 말이야) 검은 화면에 글자로 상호작용하는, 지금으로 치면 cmd명령프롬포트가 사용자와의 인터페이스 역할을 해주었다. os는 python수준에서 컴퓨터의 파일 시스템과 파일에 접근 / 처리를 지시할 수 있는 Python수준의 기능을 제공한다. 그러면 바로 만나보자 * 이 모듈탐구시간에는 WINDOW에서 사용되는 os모듈 함수들만을 다룬다 * * 파일디스크립터 함수는 나도..

    [Python] - 모듈탐구 pickle - 자료구조의 저장과 불러오기

    컴퓨터 세계에서 자주 사용되는 json이라는 표준이다. json은 Python을 자주 사용하는 사람이라면 아는 dictionary이라는 자료구조와 유사하게 생겼는데, 광범위하게 데이터 오브젝트를 인간이 읽을 수 있는 상태에서 전달하기 위한 표준이다. 다음은 json의 예시이다. { "file_format_version" : "1.0.0", "ICD": { "library_path": ".\\XXX.dll", "api_version": "1.0.3" } } // json파일의 예시 json처럼 객체를 저장하고 나중에 재구성할 수 있는 포맷으로 표기하는것을 직렬화(Seriallization), 그 데이터를 다시 불러오는 것을 역직렬화(Deseriallization)이라고 한다. Python은 json처럼 인..

    [Python] - 모듈탐구 copy - 뭐! 모듈이 복사가 된다고?

    혹시 이 글을 읽는 독자는 LIST의 복사를 시도해보았는가? 아마 a=[1,2,3]과 같은 LIST를 바로 b=a로 복사부터 시도했을 가능성이 크다(우리 Python은 직관적이어서 이거도 돼야 되는 거 아닌가?) 웃긴 건 이때 a [0]=5를 하면 b도 [5,2,3]이 된다는 점이다. 이는 복사의 깊이가 달라서 생기는 문제이다. 복사의 구분 복사는 수준에 따라 다음과 같이 구분된다. ① 얕은 복사(Shallow copy) : 메모리 주소만 같은 곳을 가리키게 복사되는것, 값이 복사되는 것은 아니다. ② 깊은 복사(Deep copy) : 실제 값까지 모두 복사되는 것 Python은 모듈 copy를 통해서 이 복사행위를 다룬다. 다음은 두 가지는 copy모듈이 제공하는 함수이다. 1. copy.copy(x)..

    [Python] - 모듈탐구 base64 - == =

    base64라는 인코딩 방식을 들어본 적이 있는가? 컴퓨터 분야에서 상당히 많이 쓰이는 인코딩 방식이넫, 이진 파일들을 문자 코드에 영향을 받지 않는 64개의 ASCII를 사용하여 일련의 문자열로 변환하는 인코딩 방식이다. 이와 비슷하게 base32, base 16 방식도 존재하고, ASCII 문자 자체가 128개가 되지 않기 때문에 base128은 없는 방식이다.(대신 귀 여운 8 5를준 비했습니다.) 특수한 규약으로는 base64로 인코딩 된 문자는 = 혹은 ==으로 끝이난 다는 점이다. 모듈 탐구 시간, 오늘은 이 base인코딩을 다루는 base64 모듈을 알아보도록 하자 base64모듈에서 사용되는 함수들은 전부 base64 클래스의 클래스 함수이다. 부호기 - ENCODER 1. base64.b..