전체 글
Python venv 가상환경 VScode 인식 못함
Python venv 가상환경 VScode 인식 못함
2021.02.12/* OSX 환경입니다. 왜 나한테만 구래? */ 파이썬 가상환경 설정 후, simplejson을 pip로 설치 후 import simplejson as json test_dict = {'1' : 95, '4':77,'3':65, '5':100,'2':88} print(json.dumps(test_dict, sort_keys=True, indent=4 * ' ')) 제대로 설치되었나 확인하는 위의 코드를 실행시켜 보았다. 결과는 simplejson Module not found 호고곡! 구글링 해도 결과가 나오지 않는다,,,,, 분명 site-packages 디렉토리 내에 simplejson이 설치되어있는데! 왜 인식을 못하뉘ㅠ 해결한 방법 Settings(Command + ,)에 들어가 검색창에 Pyt..
[부스트코스 CS50 2기] 1주차 컴퓨팅 사고
[부스트코스 CS50 2기] 1주차 컴퓨팅 사고
2021.01.11컴퓨팅 사고란? 문제를 해결하기 위한 접근 방법 중의 하나다. 컴퓨팅 사고는 크게 4가지의 과정으로 이루어져있는데 분해, 패턴 파악, 패턴의 일반화, 알고리즘 설계다. 분해(Decomposition) 큰 문제를 여러개의 조각으로 나누어 그 조각들을 확인하거나, 어떻게 문제를 나눌지 고민하는 과정이다. Breaking something down and figuring out what all the parts are and how we might divide up a task. 패턴 파악(Pattern Recognition) 어떠한 예측(통찰)을 위해 앞에서 문제를 분해해서 나온 조각들의 유사한 점과 차이점을 찾아내는 과정이다. Finding similarities and differences between..
WEB2 Python 진행즁,,
WEB2 Python 진행즁,,
2021.01.09생활코딩 Web2 Python 강의를 들었습니다. Bitnami MAMP로 아파치 웹서버를 열어 실습했습니다. 기본적인 파이썬 코드다. 이를 웹에서 사용하기 위해서는 많은 기본 설정이 필요하다. 우선 print("content-type:text/html; charset=utf-8\n") 이 파일이 text/html 타입의 파일이며 문자 인코딩 방식은 utf-8 방식임을 알려주는 코드를 코드 맨 앞에 넣는다. 그리고 이 파일을 어떤 인터프리터로 해석해야하는지 알려주는 코드다. 터미널에 type python3 를 입력했을때 나오는 주소를 입력해도 되지만 위의 사진에서 입력한 주소를 입력해도된다. 그리고 비트나미 설치 폴더 안에 apache2/conf/original 폴더 안에 httpd.conf 폴더를 고쳐..
시작!
시작!
2021.01.07네이버 부스트코스에서 진행하는 코칭스터디 CS50 2기에 지원하였고 Team 5 리드부스터를 맡게되었습니다! CS50 코칭스터디란? 1주차 컴퓨팅 사고부터 시작해서 6주차 자료구조까지 부스터분들과 달려보겠습니당,,,,흐힣
객체지향 프로그래밍2 기말 실습시험
객체지향 프로그래밍2 기말 실습시험
2020.12.09이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
Node JS 모듈화
Node JS 모듈화
2020.11.09간단한 더하기 함수로 모듈화를 알아보았다. var calc = {}; calc.add = function (a, b){ return a+b; }; console.log('모듈로 분리하기 전 - calc.add : ' + calc.add(10, 10)); calc라는 빈 객체를 만들어 거기에 add라는 함수를 만들어 calc.add로 함수를 호출하였다. 이는 모듈로 분리하기 전 한 파일 내에서 함수 정의와 호출을 모두 한 상황이다. 이는 위와 같이 짧은 코드에서는 상관이 없다. 하지만 수백 수천줄의 코드가 된다면,,,,, 도리도리 모듈로 나눠서 관리해야 기능별로 수정하기도 편하다. // calc.js exports.add = function(a, b){ return a+b; }; calc.js에 expor..
DIMI-CTF exec-me
DIMI-CTF exec-me
2020.11.08View Source 문제 이름을 보니 실행시키는게 주 목적인 문제인거 같다. 코드를 보니 역시나 필터링이 stristr 함수를 이용해 이루어지고 있다.stristr 함수는 첫번째 인자로 주어진 문자열 속에서 두번째 인자로 주어진 문자열이 존재하는지 찾는 함수다. www.w3schools.com/php/func_string_stristr.asp Try it Yourself » Definition and Usage The stristr() func" data-og-host="www.w3schools.com" data-og-source-url="https://www.w3schools.com/php/func_string_stristr.asp" data-og-url="https://www.w3schools...
웹해킹 스터디 1주차
웹해킹 스터디 1주차
2020.10.102강 Web Browser(웹 브라우저) HTTP를 통해 인터넷 상에서 통신을 하며 서버로부터 전달받은 웹 리소스들을 가공해 사용자가 전문지식 없이 웹을 사용할 수 있도록 도와주는 소프트웨어 ex) Chrome, Edge, Safari, Firefox Web Resource(웹 리소스) 웹에서 사용하는 콘텐츠 ex) HTML(Hyper Text Markup Language), CSS(Cascading Style Sheets), JS(JavaScript), image, video 등 URl (URL) Uniform Resource Identifier의 약자로 리소스를 식별하기 위한 식별자 Scheme 웹 서버에 접속할 때 어떤 체계(프로토콜)를 이용할지에 대한 정보를 담고있는 요소 (http/https) ..
[root-me.org - Web-Server] HTTP - POST
[root-me.org - Web-Server] HTTP - POST
2020.09.15Give a try! 버튼을 누르면 랜덤값으로 나의 점수가 출력된다. 그 출력되는 점수가 저 999999점을 이기면 깨는 문제다. 일단 저 점수가 어떻게 해서 결정되나를 알아보기 위해 소스코드를 살펴보았다. POST 방식으로 Math.floor(Math.random() * 1000001) 값을 요청해 이 값을 나의 점수로 한다. 코드를 보니 점수는 score라는 name을 가진 input 태그의 value 속성에 저장되는거 같다. 그럼 이걸 조절할 수 있을까? 버프수트를 사용해보자! Give it a try! 버튼을 누르자 버프수트에 다음과 같은 데이터가 잡혔다. 살펴보니,,, 점수를 POST 방식으로,,,하는구나? 그럼 이걸 999999보다 큰 숫자로 바꿔보자 score를 9999999로 바꾸고 For..
[root-me.org - Web-Server] HTTP - Cookies
[root-me.org - Web-Server] HTTP - Cookies
2020.09.15들어가면 볼 수 있는 화면이다. 이메일 주소를 적으면 그 이메일 주소들이 모두 저장돼서 관리자만 볼 수 있는 구조다. Saved email adresses를 눌러 저장된 메일 주소를 보려고 하니 위와 같이 Problem with cookie 라고 쿠키값이 맞지 않다는 에러문구가 출력된다. 주소를 살펴보니 visiteur(visitor로 추정) 이 c라는 이름의 파라미터로 주어져있다. 저게 쿠키값인거 같다. editthiscookie 확장 프로그램을 사용해 살펴보니 저 Value를 admin으로 바꿔주고 다시 접속해보니...?
[root-me.org - Web-Server] HTTP - User-agent
[root-me.org - Web-Server] HTTP - User-agent
2020.09.15시작하자마자 admin이 아닌게 들통났다. 오또카지~ 오또카지~ 에러문을 잘 살펴보니 Wrong user-agent...? user-agent는 BurpSuite에서 자주 보던 친구다. 기본적으로는 접속자의 브라우저 정보나, 운영체제 종류 등의 데이터가 실리는 항목인데, 이걸 보고 admin이 아니라고 판단한거라면 쉽게 생각해서..너무너무 쉽게 생각해서 user-agent를 admin으로 바꿔보자 위와 같이 내 정보가 담겨있는 User-Agent 항목을 아래와 같이!!! 요로코롬..? 요로코롬~~~~~ Password: rr$Li9%L34qd1AAe27
[root-me.org - Web-Server] HTTP - Open redirect
[root-me.org - Web-Server] HTTP - Open redirect
2020.09.15목표는 위와 같다. 챌린지를 시작하면 세 개의 버튼으로 정해진 사이트로만 이동할 수 있다.(페이스북, 트위터, 슬랙) 버튼을 눌렀을 때 정해진 3개의 사이트가 아닌 다른 사이트로 리다이렉션 시키면 되는 문제다. 저 3개중 어느 한 버튼을 눌렀을 때 그 버튼에 해당하는 링크로 바로 리다이렉션 되는걸 보니, 이 중간에 값을 조작해줘야 할거같다. 서버에 어떠한 형태로 데이터가 전해지는지 확인해보았다. 이와 같이 리다이렉션 되는 사이트의 url과 h라는 이름의 어떤 파라미터가 전해진다. 간단하게 저 url 값을 우리들의 국민주소 https://google.com으로 조작했을 때 Incorrect Hash라는 에러문이 출력되었다. 이로써 저 뒤에 같이 주어지는 h 는 해쉬값임을 알 수 있었다. 그럼 저 해쉬값이 ..