일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 국가기록원
- 도구모음
- suninatas
- 불법유통
- webhacking
- 파이썬
- Los
- 대외활동
- nurisec
- 국정원
- 화학물질안전원
- 정보보안
- 불법유통근절
- 연구모임
- 12기
- UKPT level
- MITRE ATT&CK
- 여행
- 기타정보
- HTML
- 프로젝트
- 국가정보원
- Service
- 경기팀
- 웹 해킹 입문
- 화학물질
- 화학물질불법유통온라인감시단
- UKPT
- PHP
- codeup
- Today
- Total
목록전체 글 (304)
agencies
스토리 골드번호(선호번호)를 응모하여 번호를 변경하고자 했으나, 경쟁률이 너무 심해 얻지를 못했다. (지금까지 3년 도전하여 모두 실패했다) 응모한 뒷자리 번호(사번)은 0000이었다. 그나마 좋은 번호인 8888-1001 (등)을 구하려고 했으나 생각보다 검색하기 어려웠다. * 통신사마다 국번(가운데 번호)가 모두 다르다. 결국에는 포기하고 특정 문자(4글자)를 아스키코드값으로 변환하여 사용을 하려고 한다. number = input("[전화번호 추첨 프로그램]\n- 범위(A~Z/0~9/특수문자) : ") if len(number)!=4: print("4글자만 입력이 가능합니다") exit() a = ord(number[0].upper()) b = ord(number[1].upper()) c = ord..
#include int main() { int a,b,c; scanf("%d.%d.%d",&a,&b,&c); printf("%04d.%02d.%02d",a,b,c); } C언어에서는 scanf 로 값을 입력받을 때 %d(구분할 문자)%d 형식으로 자를 수 있습니다. python인 경우 split 으로 나눴습니다. 그리고 %d 인데 앞에 04를 넣게 되면 0001 0055 형식 등으로 앞에 0이 채워지게 됩니다. python에서는 zfill() 함수를 사용했습니다. + 값을 입력받을때 주소 연산자인 &를 사용하여 scanf에서 입력을 받고 출력할 때에는 주소가 아닌 값 변수 그대로 작성합니다.
문제 접근 방식 - 하나의 문자열을 입력받는다. - + - * /로 문자열을 자른다. - 기호를 기준으로 x와 y값을 구한 뒤 계산한다 a=input() for i in range(len(a)): if a[i] =="+": x=a[0:i] y=a[i+1:] print(int(x)+int(y)) break elif a[i] =="-": x=a[0:i] y=a[i+1:] print(int(x)-int(y)) break elif a[i]=="*": x=a[0:i] y=a[i+1:] print(int(x)*int(y)) break elif a[i]=='/': x=a[0:i] y=a[i+1:] print("%.2f"%(int(x)/int(y))) break
바이러스가 없는 파일임에도 불구하고 파일을 다운로드 할 경우 삭제가 되는 일이 발생합니다. netcat을 설치하려했으나 계속 바이러스가 발견되었다고 마음대로 삭제해버리네요 보안센터 들어가서 바이러스 및 위협 방지 설정을 클릭합니다. 제외 추가 또는 제거를 클릭합니다. 제외 사항에 다음과 같이 다운로드 폴더를 추가합니다. 성공적으로 파일을 다운로드 받을 수 있습니다.
소스코드를 살펴봅니다. 12가 입력되거나 7 0이 입력되면 아무것도 입력이 안된것처럼 변합니다. ..을 입력하면 .이 됩니다. 쿠키에 REMOTE_ADDR를 생성하고 값을 입력해봅니다. client ip가 변경된 것을 볼 수 있습니다. 12277...00...00...1로 문제를 해결할 수 있었습니다.
문제페이지에 접속하면 다음과 같이 빠르게 패스워드가 한 글자씩 나타나는 것을 볼 수 있습니다. 부분에 있는 코드를 복사해서 콘솔창에 붙여넣습니다. 그리고 코드의 일부분을 아래와 같이 수정합니다. function answer(i){ x.open('GET','?m='+i,false); x.send(null); aview.innerHTML+=x.responseText; i++; if(x.responseText) setTimeout("answer("+i+")",20); } setTimeout("answer(0)",1000); FLAG{a7981201c48d0ece288afd01ca43c55b}
문제 페이지로 접속하면 다음과 같이 Access_Denied가 출력되고 뒤로 나가집니다. 그래서 이 상태에서 ctrl + u (소스코드 보기)를 눌렀습니다. get방식으로 getFlag를 입력하면 플래그를 얻을 수 있을 것 같습니다.
# 등급 점수 프로그램 (service team) #-*- coding:utf-8 -*- # score.txt 파일이 없다면 새로 생성 fp = open("score.txt","a+") # 파일 포인터를 첫번째로 이동 fp.seek(0) # 팀명이 존재하는지 확인 tmp = fp.read() # 파일 입력 여부 create = 0 # w모드로 열기 위해 파일 닫기 (파일이 비어있는 경우 / TEAM이 없는 경우) if not tmp: create = 1 fp.close() else: if "[TEAM]" not in tmp: create = 1 fp.close() # 파일 새로 입력 if create: # 팀명 mode = open("score.txt","w") team = input("[* 안내] 본인..
문제 접근 방식 - 파이썬 슬라이싱 이용 a=int(input()) m=list(map(int,input().split())) for i in range(a): # i번째 부터 가져옴 (뒷부분) t = m[i:] # 처음부터 i번째까지 가져옴(앞 부분) tt = m[:i] # t와 tt를 결합 후 출력 for j in t+tt: print(j,end=" ") print()
문제 접근 방식 - 각 숫자가 들어가면 이를 한글로 변환할 수 있는 딕셔너리 선언 - 숫자가 입력을 하는데 '만' 출력을 방어하기 위해 입력된 수 중 4자리만 추출 (reverse_num) - 0이 입력되면 영 출력 / 이것을 제외하고는 무시 - 글자들이 누적해서 저장 - 일억만 대신 일억이 표기될 수 있도록 입력된 값을 1억으로 나눴을때 나머지가 4자리 추출한 값보다 크다면 만 출력 (그렇지 않으면 : 4자리수인 경우) 만 출력하지 않음 a={1:'일', 2:'이', 3:'삼', 4:'사', 5:'오', 6:'육', 7:'칠', 8:'팔', 9:'구', 0:''} num = input() reverse_num = ''.join(reversed(num)) reverse_num = reverse_num[0..
문제 접근 방식 - 문자열을 전달 받으면 x와 +또는- 그리고 =를 기준으로 문자를 나눕니다. - 숫자 중 가운데 값은 부호까지 가져옵니다. +b 또는 -b가 되도록 그리고 str을 int형으로 변환시킵니다. - 일차방정식을 풀 수 있는 코드를 작성합니다. msg=input() b = "" for i in range(len(msg)): j = i if msg[i] == '+' or msg[i] == '-': a = msg[0:i-1] if msg[i] == 'x': while msg[j+1] != '=': b+=msg[j+1] j+=1 elif msg[i] == '=': c = msg[i+1:] r = int(c)-int(b) r = r/int(a) print("%.2f"%r)