파이썬(29)
-
[Wargame] dreamhack - xss-1
웹 서버에 접속해 보자vlun 페이지memo 페이지flag 페이지알고있는 정보가 없기 때문에주어진 파일을 열어보자파이썬 소스코드 app.py 확인/memo 페이지를 구성하는코드를 확인해 보니이용자가 전달한 memo 파라미터 값을 render_template 함수를통해 기록하고 출력한다 /flag 페이지를 구성하는코드를 확인해 보니메소드에 따른 요청마다 다른 기능을 수행하는 것을 확인 GET = 이용자에게 URL을 입력받는 페이지를 제공 POST = params 파라미터에 값과 쿠키에 FALG를 포함해 check_xss 함수 호출check_xss는 read_url 함수를 호출해 vuln 엔드포인트에 접속 그런데/vuln 페이지를 구성하는코드를 보면이용자가 입력한 값을 페이지에 그대로 출력하기 때문에 xss..
2024.05.08 -
[Wargame] dreamhack - cookie
웹 서버에 접속웹 서버에 접속하면 환영한다는 문구 확인오른쪽 위 로그인을 눌러보았다계정을 입력하는 곳 확인 아무런 정보가 없기 때문에주어진 파일 다운로드압축 해제 후 app.py 파일 확인 파일을 열어보니 users 값에id = guestpw = guest확인 후guest로 로그인을 해 보았다내가 관리자가 아니라고 한다개발자 도구 F12 -> application -> cookies확인 결과 username 값이 guest 확인우린 관리자 계정의 id가 admin이라는정보를 알고 있기때문에username값에 admin을 넣어본다Flag값 확인DH{7952074b69ee388ab45432737f9b0c56}
2024.05.08 -
[Baekjoon] - 나머지 3052번
문제를 보니 42로 값을 나눴을때 서로 다른 나머지가 몇개 있는지 출력하는 문제다 중복 된 값을 저장할 때 카운트 안되게 하기위해 set 집합을 사용 입력값 10개를 입력받고 입력받은 값을 a로 초기화 a%42로 나머지를 set1 집합에 넣는다 그리고 저장된 set1의 길이를 출력! 아래와 같은 소스코드를 짤 수 있다 set1 = set() for i in range(10): a = int(input()) set1.add(a%42) print(len(set1))
2024.03.05 -
[Baekjoon] - BOJ Bundle in Math. Vol 1_H번 - A+B - 10 (제1편)
BOJ Bundle in Math. Vol 1 대회 문제의 H번을 풀어보았다 A와 B의 값이 바로 주어지지 않고, 채점기와의 상호작용을 통해(?) 그 값을 알아내라고 한다 문제 설명은 복잡해 보이지만 간단하게 예제입력과 출력을 설명하면 A값과 B값을 채점기에 0과 1로 입력하여 ? A 1을 출력하면 0과 1로 입력할 수 있는데 0을 입력하여 ? A 2 출력 또 0을 입력하여 ? A 3 출력 1을 입력하여 A값이 3 ? B 1 출력된다 0을 입력하여 ? B 2 출력 1입력 B값은 2 3+5인 !5 출력 출력 기준을보니 질문을 출력한 뒤 실제로 질문을 채점기에게 보내려면 표준 출력 flush해야한다고 한다 여기서 flush는 버퍼에 저장된 내용을 바로 출력 유무를 결정한다 노트란을 참고해서 빈칸만 채우면 되..
2023.12.08 -
[Flask] 3-14 검색
문답변에 대한 데이터가 계속 쌓여가는 게시판이므로 검색기능은 필수라고 할 수 있다 검색의 대상은 제목, 질문의 내용, 질문 작성자, 답변의 내용, 답변 작성자 정도로 하면 적당할 것이다 "파이썬"이라고 검색을 하면 "파이썬" 이라는 문자열이 제목, 내용, 질문 작성자, 답변, 답변 작성자에 존재하는지 찾아보고 그 결과를 화면에 보여주어야 한다 검색 기능을 위해 잠시 데이터베이스 지식을 공부할 필요가 있다 조인, 아우터조인, 서브쿼리에 대해서 알아볼 것이다 조인 조인은 동일한 데이터로 연결된 두 모델을 함께 조회할 때 사용한다 예를들어 작성자 이름이 "홍길동"인 질문을 검색할 수 있는 방법에 대해서 생각해 보면 절차 1. User 모델에서 username이 '홍길동'인 데이터의 id 조사하기 절차 2. 절..
2023.12.03 -
[Flask] 3-13 마크다운 기능 적용하기
질문이나 답변을 작성할 때 일반적인 텍스트 외에 글자를 진하게 표시하거나 링크를 추가하고 싶을 수도 있다 '마크다운'이라는 글쓰기 도구를 이용하면 이런 것들을 쉽고 간단하게 표현할 수 있다 마크다운을 적용해 보자 리스트 목록을 표시하기 위해 다음처럼 작성한다 위 문자열을 마크다운 해석기가 HTML로 변환하면 실제 화면에서는 아래와 같이 보인다 순서가 있는 목록을 표시하려면 아래처 작성한다 결과는 아래와 같다 강조 작성한 글자를 강조 표시하려면 강조할 텍스트 양쪽에 **를 넣어 감싼다 결과는 아래와 같다 링크 HTML 링크는 다음처럼 [링크명](링크주소) 규칙을 적용하여 생성한다 결과는 아래 같다 소스코드 소스코드는 백쿼트 ` 3개를 연이어 붙여 위아래로 감싸면 생성할 수 있다 결과는 아래 같다 인용 인용..
2023.12.03