ster098의 등록된 링크

 ster098로 등록된 네이버 블로그 포스트 수는 489건입니다.

[Python] TCP/UDP 패킷 스니퍼 [내부링크]

TCP/UDP 패킷 스니퍼 ㆍTCP/UDP 패킷 스니퍼를 구현하여 TCP/UDP 헤더 구조 및 패킷 분석 소스코드 ㆍ통신하는 TCP/UDP 패킷을 분석하는 소스코드 입니다. from socket import * import os import struct def parse_ip_header(payload): pre_ip_headers=struct.unpack( "!BBHHHBBH4s4s" , payload[:20]) ihl=(pre_ip_headers[0] & 0x0F)*4 ip_payloads=payload[ihl:] return pre_ip_headers, ip_payloads def parse_icmp_header(icmp_data): icmp_headers=struct.unpack("!BBHHH" , icmp_data[:8]) icmp_payloads=icmp_data[8:] return icmp_headers, icmp_payloads def parse_tcp_header(p

[Shell Script] 장치 디렉터리 내 일반 파일 존재 유무 점검 [내부링크]

장치 디렉터리 내 일반 파일 존재 유무 점검 ㆍ/dev 디렉터리는 장치 구동에 관련된 파일들이 존재하는 디렉터리 이기 때문에 일반 사용자나 관리자 root 등 관심을 가지지 않는 디렉터리이다. ㆍ공격자들은 시스템을 공격하거나, 백도어와 같이 시스템에 공격하기 위한 파일들을 은닉하기 위해 /dev 디렉터리를 자주 사용했다. ㆍ그러므로, /dev 디렉터리네 일반파일이 있는지 점검하고 파일들의 용도를 파악 후 삭제 또는 다른 곳으로 이동시켜서 관리 할 필요가 있다. 소스코드 #!/bin/sh email=root@`domainname` imsi=/tmp/dev_find_imsi.tmp touch $imsi cat /dev/null > $imsi find /dev -type f -exec ls -al{}\; > $imsi if [ -s $imsi ]; then mail -s " /dev 내 일반파일 점검 결과(`date +%Y%m%d-%H:%M` 기준) " $email < $imsi fi r

[Shell Script] root 이외의 UID가 0인 사용자 점검 [내부링크]

root 이외의 UID가 0인 사용자 점검 ㆍ시스템에 접근할 때 각 사용자는 부여된 UID 값을 통해 계정명, 홈 디렉터리 등의 권한을 점검하기 때문에 계정명이 달라도 UID가 같으면 같은 계정으로 인식한다. ㆍ그러므로 root 계정의 UID 값 0과 동일하게 설정된 계정을 확인 할 필요가 있다. ㆍ들어가기 앞써 /etc/passwd 에서 확인해보면, user1 사용자의 UID 값이 0인것을 확인할 수 있다. root@min-VirtualBox:/home/min/test# vi 6-5.sh root@min-VirtualBox:/home/min/test# vi 6-5.sh root@min-VirtualBox:/home/min/test# cat /etc/passwd root:x:0:0:root:/root:/bin/bash . . . username:x:1001:1001::/home/username:/bin/sh user1:x:0:1002::/home/user1:/bin/sh user2:

[Shell Script] 불필요한 서비스 존재 여부 점검 [내부링크]

불필요한 서비스 존재 여부 점검 ㆍ시스템에서 꼭 필요하지 않은 서비스일 경우 중지하거나 삭제하는 것이 맞다. ㆍ불필요한 서비스를 방치했을 경우 악의적인 사용자에 의해 시스템이 침해되거나 공격받을 가능성이 높기 때문이다 ㆍ이는 보안성 향상에 도움이 되지만 시스템 운영에서도 도움이 된다. 소스코드 #!/bin/sh echo "" echo "*************************불필요한 서비스 존재 여부 점검******************************" echo "" cf_dir="/etc/xinetd.d" no_ser="/home/min/test/no_ser.cfg" for name in $(cut -d: -f1 $no_ser) do cnt_ser=`ls -l $cf_dir | sed 1d | awk '{print $9}' | grep -w ^\$name\$ | wc -l` if [ "$cnt_ser" != 0 ] then echo "" echo "불필요한 서비스 $n

[Shell Script] 패스워드 최소길이 및 최대 사용기간 설정 점검 [내부링크]

패스워드 최소 길이 및 최대 사용기간 설정 점검 ㆍ패스워드 길익 짧거나 단순한 패턴인 경우 무작위 공격(Brute Force) 이나 패워드 추축(Guessing) 공격에 취약하다 ㆍ공격에 대비해서 패스워드를 설정했더라도 오랜 기간 같은 패스워드를 사용하면 그 또한 노출될 가능성이 있기 때문에 적절한 정책을 적용할 필요가 있다. 소스코드 ㆍ패스워드 최소길이 및 최대 사용기간에 대한 점검을 하는 코드이다. ㆍ권장 설정 값과 다를 시, 수정할 수 있는 경로 또한 출력해준다. #!/bin/sh echo "" echo "********패스워드 최소 길이 및 최대 사용 기간 설정 점검********" echo "" pss_len=9 pss_days=30 cnt_len=`cat /etc/login.defs | grep "PASS_MIN_LEN" | grep -v "#" | awk '{print $2}'` cnt_days=`cat /etc/login.defs | grep "PASS_MAX_DAYS

[Python] 소켓 통신 구현 [내부링크]

간단한 소켓 통신 구현 ㆍ기본적인 소켓 사용방법과 소켓 통신 구현 소스코드 ㆍ통신 패킷을 잡는 소켓 프로그램 소스코드 입니다. from socket import * import os def parsing(host): #raw socket 생성 및 bind if os.name=="nt": #운영체제가 윈도우이면 nt 반환 sock_protocol=IPPROTO_IP else: sock_protocol=IPPROTO_ICMP sock=socket(AF_INET, SOCK_RAW, sock_protocol) sock.bind((host, 0)) #socket 옵션 sock.setsockopt(IPPROTO_IP, IP_HDRINCL, 1) #promiscuous mode if os.name=="nt": sock.ioctl(SIO_RCVALL, RCVALL_ON) data=sock.recvfrom(65535) print(data[0]) #promiscuous mode 끄기 if os.nam

[Python] IP 헤더 구조 및 분석 [내부링크]

IP 헤더 구조 및 분석 ㆍRaw 소켓을 활용한 IP 헤더 분석 소스코드 ㆍ앞써, '소켓 통신 구현'에서 사용했던 Raw 소켓을 활용한 IP 헤더 분석입니다. from socket import * import os import struct def parsing(host): #raw socket 생성 및 bind if os.name=="nt": #운영체제가 윈도우이면 nt 반환 sock_protocol=IPPROTO_IP else: sock_protocol=IPPROTO_ICMP sock=socket(AF_INET, SOCK_RAW, sock_protocol) sock.bind((host, 0)) #socket 옵션 sock.setsockopt(IPPROTO_IP, IP_HDRINCL, 1) #promiscuous mode 켜기 if os.name=="nt": sock.ioctl(SIO_RCVALL, RCVALL_ON) packet_number=0 try: while True: pac

[Python] ICMP Sniffer [내부링크]

ICMP Sniffer 구현 ㆍSniffer란 네트워크 트래픽, 패킷을 감시하고 분석하는 프로그램을 말합니다. 소스코드 from socket import * import os import struct def parse_ip_header(ip_header): ip_headers=struct.unpack( "!BBHHHBBH4s4s" , ip_header[:20]) ip_payloads=ip_header[20:] return ip_headers, ip_payloads def parse_icmp_header(icmp_data): icmp_headers=struct.unpack("!BBHHH" , icmp_data[:8]) icmp_payloads=icmp_data[:8] return icmp_headers, icmp_payloads def parsing(host): #raw socket 생성 및 bind if os.name=="nt": sock_protocol=IPPROTO_IP else

[Python] 은닉 채널을 이용한 파일전송 [내부링크]

은닉 채널을 이용한 공격 ㆍ방화벽, IPS과 같은 보안장비에서 TCP, UDP 포트를 막아 놓았을 경우 은닉 채널을 이용하여 호스트에게 악성코드 등을 전송하거나 원격 명령을 내릴 수 있습니다. ㆍ또한, 네트워크 패킷 감시 장비를 우회하여 파일을 송수신 하여 악성코드 등을 전송할 수 있습니다. 소스코드(수신자) ㆍPing은 대부분의 운영 체제에 설치된 도구이며 TCP, UDP 포트가 막혀도 파일을 전송할 수 있으므로 ICMP 를 이용하여 파일을 전송할 수 있습니다. ※ 주의할 점은, 수신자 코드를 실행 후 송신자 코드를 실행해야 한다. from socket import * import os import struct def parse_ip_header(ip_header): ip_headers=struct.unpack( "!BBHHHBBH4s4s" , ip_header[:20]) ip_payloads=ip_header[20:] return ip_headers, ip_payloads def

[Excel] 현명한 데이터 참조 및 참조관리 - 여러가지 복사 붙여넣기 방법(상대참조) [내부링크]

여러가지 복사 붙여넣기 이웃하지 않은 데이터를 한꺼번에 데이터 복사, 붙여넣기 방법이 있습니다. 빈 셀에 한번에 입력하기 1. 범위 지정 후 Ctrl + G (이동옵션) 2. 옵션 3. 빈 셀 4. 범위 내에 빈 셀만 선택 되는 것을 볼 수 있으며, 빈 셀중 커서가 들어가 있는 칸을 확인할 수 있습니다. 5. 커서가 들어가 있는 칸에 '홍길동'을 적고 Ctrl +Enter 를 누르게 되면 빈셀에 전체적으로 입력이 됩니다. 상태참조를 이용한 복사 붙여 넣기 1. 범위 지정 후 Ctrl + G (이동옵션) 2. 옵션 3. 빈 셀 4. 범위 내의 빈 셀에서 '=' 을 입력 후 위쪽 셀을 선택해줍니다. 5. Ctrl +Enter 를 누르게 되면 전체적으로 상태참조가 입력이 되어 한칸 위에 있는 셀의 데이터를 참조하게 됩니다.

[Vulnerability] Apache Log4j 취약점 - CVE-2021-44228 관련 기사 및 정보 [내부링크]

Log4j의 로고 1. KISA 보호나라, Apache Log4j 보안 업데이트 권고 - 취약점이 추가적으로 발견되고 있어 추가적인 업데이트가 지속적으로 진행 중 입니다. https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.krcert.or.kr 2. log4j 사용 리스트 현황 - 흔히 아는 Cisco, Devian, DELL, Docker 등 유명한 업체들도 포함되어 있는 것을 확인할 수 있습니다. https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592 3. log4j 대응가이드 - KISA 보호나라에서 제공하는 log4j 보안취약점 대응 가이드 입니다. 첨부파일 QnA로_알아보는_log4j_보안취약점_대응_가이드.pdf 파일 다운로드 4. CVE 코

[Shell Script] read [내부링크]

read ㆍ 사용자들의 입력 사항을 받는 명령어 ㆍ "read 변수명" 형태로 사용 예제 ㆍ사용자가 입력한 "Shell Script Test" 값을 VAR 변수에 저장하고, VAR에 입력된 값을 화면에 출력하는 예제이다. ㆍ여러 개의 변수 값을 입력받아야 할 때는 "read 변수명1 변수명2"의 형태로 저장한다. 즉, 사용자 입력시 다음 변수는 스페이스(공백)로 구분한다. 주의사항 ㆍ변수를 지정할 떄 " "또는 ' '를 이용하여 공백이 포함된 문자열을 단일 변수로 지정할 수 있다. 하지만 사용자 값으로 입력 받을 때는 공백 전 문자열은 첫 번째 변수, 나머지 문자열은 마지막 문자열로 입력됨에 주의해야 한다.

[Shell Script] 수치비교,파일비교,문자열 비교,특수 파라미터 [내부링크]

1. 수치비교 예제 ㆍa와 숫자 b에 할당된 변수를 비교해서 a와 b의 수치가 같은지, b가 a보다 큰지 여부를 비교해서 결과를 출력한다. 주의할 점 ㆍ[ 뒤와 ] 앞에는 꼭 공백을 넣어야 한다. 또한 문자열 변수를 사용 할 때는 "와 "로 감싸야 한다. ㆍ각 표현식은 숫자 크기를 비교하지만, 소수점 이하의 숫자는 무시된다 표현방식 표현방식 유사 연산자 참이 되는 경우 [ $A -eq $B ] A = B A와 B의 값이 같은 경우 [ $A ne $B ] A != B A와 B의 값이 다를 경우 [ $A gt $B ] A > B A가 B보다 값이 큰 경우 [ $A lt $B ] A > B A가 B보다 값이 작은 경우 [ $A ge $B ] A >= B A가 B보다 값이 크거나 같은 경우 [ $A le $B ] A =< B A가 B보다 값이 작거나나 같은 경우 2. 파일 비교 ㆍ파일의 존재 유무와 읽기 또는 쓰기가 가능한지 등을 비교하는 기능의 표현식 표현방식 표현방식 참이 되는 경우 [

[Shell Script] until 문을 이용한 root 로그인 기록 [내부링크]

until ㆍ until 문을 while 문과 유사한 형태로 사용할 수 있다 ㆍ 하지만 while 문과는 반대로 조건문이 거짓이면 do 와 done 사이에 명렁어를 실행하고, 참이면 반복한다. 예제 ㆍroot가 로그인할 때까지 사용자를 확인하고, root가 로그인하면 "root가 xx몇시에 로그인 되었습니다" 라는 경고메시지를 출력한다. ㆍ그 후 root.log 라는 로그 파일에 현재의 경고를 남기는 쉘 스크립트로 root의 로그인 현황을 확인할 수 있다.

[Shell Script] 디스크 사용량 분석/보고 [내부링크]

디스크 사용량 분석/보고 ㆍ 시스템 관리자는 디스크 사용량을 주기적으로 확인하여 파일 시스템 용량 부족으로 인해 시스템이 영향을 받지 않도록 해야한다. ㆍ 전체적으로 파일시스템별 용량, 사용자별 용량을 일일이 확인하는 것은 번거로운 일이기에 이러한 일들을 주기적으로 이루어지도록 자동화하고, 자동으로 통보하는 쉘 스크립트를 만들면 시스템 관리자의 일이 줄어들 것이다. 예제 #!bin/sh SETSIZE=10 #점검 용량 MB 단위 설정 EXMB=`expr $SETSIZE \* \( 1024 \* 1024 \)` for name in $(cut -d: -f1,3 /etc/passwd | awk -F: '$2 > 499 {print $1}') # /etc/passwd 에서 UID가 500이상인 계정을 구분 do echo "User $name, $SETSIZE MB Exceeded File List / SIZE" find /usr/tmp/home -user $name -type f -ls

[Shell Script] 사용자 계정 일시 정지 [내부링크]

사용자 계정 일시 정지 ㆍ 여러 부서나 학급으로 나누어져 있는 곳에서는 부서원이나 학급원의 전ㆍ출입 등으로 인한 계정 정보 수정 요구가 발생한다. 전입자에 대한 정보는 전입 받는 인원이 시스템을 사용해야 하기 때문에 신경을 쓰지만, 전출자 계정의 정리나 정지 등의 조치는 다른 업무의 순위에 밀려 소홀하기 쉽다는 문제를 가지고 있다. ㆍ 사용하지 않는 계정에서 시스템 침해 등 보안 취약 요소가 발생 될 소지가 있으므로 일정 기간이라도 사용하지 않는 계정에 대해 반드시 잠금 설정을 해야 시스템의 안전을 지킬 수 있다. 예제 #!/bin/sh stime=90 ami=`whoami` if [ "$ami" != "root" ]; then echo "본 프로그램은 체계 관리자(ROOT)외 실행이 제한됩니다." exit fi echo "$1의 사용자 계정을 일시정지합니다 1 ~ 4 단계로 진행합니다." echo "" echo "1 $1 계정의 패스워드를 변경해주세요." echo "" passwd

[Shell Script] SetUID,SetGID 설정 파일 점검 [내부링크]

SetUID, SetGID ㆍ 파일일 실행될 때 그 파일의 소유자의 권한으로 실행시키는 SetUID, SetGID 설정파일은 악의적인 권한 도용의 방지를 위해 방지를 해야한다. ㆍ 특히 관리자 권한(ROOT) 소유의 파일인 경우, 버퍼 오버플로우 공격 등에 악의적으로 이용될 수 있기 때문에 특히 더 조주의하고 관리를 해야한다. 예제 ㆍSetUID 가 포함된 파일을 점검하는 로그소스이다. #!/bin/sh cat /dev/null > /test/ch_6/log/1.setuid.log for perm in $(find / -type f -perm -4000 -print) do owner="$(ls -l $perm | awk '{print $3}')" if [ ! -z $perm ] then echo " $owner 의 Setuid 권한을 포함한 파일 : $perm " echo " $owner 의 Setuid 권한을 포함한 파일 : $perm " >> /test/ch_6/log/1.set

[SuNiNaTaS] Forensics 18 풀이 [내부링크]

문제 : What is it ? 처음부터 생각난게 아스키 코드가 생각났습니다. 온라인에서 제공해주는 변환기를 사용하여 값을 넣어보니, 암호화 된 값을 받을 수 있는 것을 확인할 수 있습니다. 암호화된 값 또한 Base64로 암호화된 것을 쉽게 유추할 수 있습니다. 이 또한 온라인에서 제공해주는 사이트를 통해 쉽게 디코딩을 할 수 있습니다.

[SuNiNaTaS] Forensics 19 풀이 [내부링크]

문제 : What is it? 0,1 로만 이루어진 것을 보아 이진수인것을 쉽게 확인할 수 있습니다. 'Binary to string' 온라인 변환기를 통해 쉽게 할 수 있습니다. 변환를 해보면 알 수 없는 값을 확인할 수 있는데, 띄어쓰기가 있는 것을 보아 치환 또는 돌리는 문제로 추측됩니다. 여기서 말이 되는 문장을 찾아서 확인해보면, 쉽게 답을 얻을 수 있습니다. http://theblob.org/rot.cgi ROT encoder/decoder Please enter the text to rotate: Rotate numbers as well theblob.org

[SuNiNaTaS] Forensics 21 풀이 [내부링크]

문제 : 문제의 솔루션 키는 무엇인가 ? 오른쪽 마우스 클릭 후 저장 하면 monitor.jpg 파일을 다운 받을 수 있습니다. 쉽게 접근하기 위해 원시적인 방법으로 사진 투명도를 높이면 흐릿하게라도 보이지 않을까 해서 해봤지만 어림도 없었습니다 :) 그래서 HxD 를 이용해서 확인을 해봤습니다. Exif 형식인 것을 확인할 수 있었습니다. Exif 형식은 디지털 카메라에서 사용되는 이미지 파일을 뜻합니다. 다운받은 사진의 확장자는 JPG 파일으로서, JPG 시그니처는 FF D8 FF E0 또는 FF D8 FF E1, FF D8 FF E8 이며 헤더의 끝은 XX XX 49 46 또는 XX XX 69 66, XX 53 50 으로 끝납니다. 그래서 FF D8 FF E1 으로 시작하고 있기 때문에 이 헥사 값으로 시작하는 것을 확인해본 결과 총 15개를 검색할 수 있었고, 세 종류의 오프셋으로 반복되는 것을 확인할 수 있었습니다. FF D8 FF E1 29 7E (0x000000),(0x

[SuNiNaTaS] Forensics 26 풀이 [내부링크]

문제 : 이 과제는 빈도 분석을 사용하여 다음 암호문에서 평문을 복구하는 것입니다. 평문의 빈 글자와 문장 부호는 생략했습니다. 문제에서 빈도 분석을 사용한 암호문이라고 적혀있습니다. 그래서 온라인 상에서 제공하는 암호문을 해독해주는 사이트를 통해 해결할 수 있었습니다. https://quipqiup.com/ quipqiup - cryptoquip and cryptogram solver beta3 quipqiup is a fast and automated cryptogram solver by Edwin Olson . It can solve simple substitution ciphers often found in newspapers, including puzzles like cryptoquips (in which word boundaries are preserved) and patristocrats (inwhi chwor dboun darie saren t). Puzz... qui

[SuNiNaTaS] Forensics 28 풀이 [내부링크]

문제 : Brute-force 를 사용하지 않고 암호를 풀 수 있다. 패스워드를 아는가 ? 처음에는 반디집 이나, 알집에서 제공하는 패스워드 찾기를 해봤습니다. 하지만 반디집이나 알집 또한 패스워드를 찾는 방법이 Brute-force 를 사용하는 것 같아 다른 방법을 찾기로 했습니다. 처음에 알아낸 것은 zip 파일의 매직넘버 PK(50 4B 03 04) 를 확인할 수 있었고, 그 뒤로 Am_I_key.zip 인 것을 확인할 수 있었습니다. 그 외에도, Am I key2.txt, Am_I_key3.txt 파일 또한 확인할 수 있습니다. 두번 쨰로 알아낸 것은 각 파일마다 똑같은 옵셋이 반복된다는 것이 였습니다. ZIP 파일 구조를 확인해 봤습니다. [Local header] offset 0x00 ~ 0x03 [4bytes] : Signature (50 4B 03 04) -> 50 4b = PK offset 0x04 ~ 0x05 [2bytes] : Version (14 00) offs

[SuNiNaTaS] Forensics 31 풀이 [내부링크]

문제 down 을 클릭하게 되면 pdf 파일을 다운받을 수 있습니다. 처음엔, HxD 를 통해 분석할려고 했지만, 텍스트 문자가 보기 안좋게 되어 있어서 다른방법을 찾기로 했습니다. pdf 파일의 확장자를 .txt 파일로 바꾸고 확인해 본 결과 텍스트 중 base64로 인코딩 되어 문장을 확인할 수 있었습니다. 인코딩 된 것을 디코딩하면 쉽게 문제를 풀 수 있었겠지만, 눈에 거슬리는 특수문자들이 중간중간 마다 섞여 있는 것을 확인할 수 있었습니다. 특수문자를 제거 하는 방법으로 자바스크립트에 eval 함수를 통해 값을 받는 방법도 있겠지만 저는 원시적인 방법을 소개할려고 합니다. 제가 사용한 방법은 Word 의 바꾸기 옵션을 사용해서 하는 방법입니다. 저희가 바꿔야 하는 것이 특수문자 이기 때문에 찾을 내용에 +, ", ', space 를 바꿀내용에 빈칸으로 넣어줍니다. 그러면 저희가 인코딩할 문장이 눈에 보기 쉽게 바뀌는 것을 확인할 수 있습니다. 이거를 base64 디코딩 사이트

[Excel] 바르고 빠른 데이터 입력(데이터 유형, 이동옵션, 오류처리) [내부링크]

엑셀이 제공하는 기본 데이터 유형 엑셀의 셀에 입력한 값은 다음과 같은 구분하여 인식 및 처리 합니다. 1. 숫자 형식 2. 문자 형식 3. 논리적 형식 4. 오류 형식 여기서 데이터를 셀에 입력을 하게되면 기본적으로 다음과 같이 정렬이 됩니다. 숫자형식은 오른쪽 맞춤 정렬 문자 형식은 왼쪽 맞춤 정렬 논리적, 오류 형식은 가운데 맞춤 정렬 ※ 날짜, 시간은 숫자데이터로 인식하게 됩니다. 숫자는 무엇인가 ? 수학적 연산을 기대하지 않는 숫자 - 식별자로 사용되는 숫자의 종류 및 특징 : 주민번호, 사원번호, 신용카드 번호 등 예) 550505-1234567 0012021 0505-6098-1234-0986 수학적 연산을 기대하는 숫자 - 크기를 나타내는 숫자의 종류 및 특징 : 급여, 보너스, 날짜, 시간 등 예) 3,456,000 2021-01-01 4:35 날짜 형식의 데이터의 비밀 엑셀은 셀에 연, 월, 일을 하이픈(-)이나 슬래시(/)로 구분하여 입력하면 날짜 형식의

[Excel] 바르고 빠른 데이터 입력- 엑셀에 사진 넣기 [내부링크]

엑셀에 그림 데이터 삽입하기 엑셀에 이미지의 데이터를 삽입할 수 없지만, 이미지를 걸쳐 놓는 다는 의미로 넣을 수 있습니다. 문제점 하지만, 이미지를 걸쳐 놓은 채로 관리하게 되면 나중에 데이터를 정렬 및 필터링을 할 경우 이미지가 따라 오지 않기 때문에 불편함이 존재합니다. 해결방법 1. 메모 사용 2. 하이퍼링크를 사용 메모사용 1. 넣은 셀 칸에 오른쪽 마우스 클릭 -> 메모삽입 2. 만들어진 메모 테두리에서 오른쪽 마우스 클릭 -> 메모 서식 3. 색 및 선 -> 채우기(색) -> 채우기 효과 -> 그림 선택 4. 완료 하이퍼링크 사용 1. 하이퍼링크 들어갈 셀 오른쪽 마우스 클릭 -> 링크 2. 이미지 선택 3. 완료

[DataBase] 데이터 조작어(DML) - SELECT(집계함수,SUM,AVG,MAX,MIN,COUNT) [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. 집계함수 집계함수는 테이블의 각 열에 대해 계산하는 함수로 SUM, AVG, MIN, MAX, COUNT 다섯 가지가 있습니다. 집계함수의 종류 - 연산자 SUM 은 열에 대한 합계를 나타내며, AVG 는 평균, MIN 최소 값, MAX는 최대 값, COUNT 는 행의 개수를 나타냅니다. 예를 들어, 고객이 주문한 도서의 총 판매액, 평균 값 ,최저 값, 최고 값을 구하는 예시는 다음과 같습니다. Tip. - SUM(saleprice), AVG(saleprice) 등 와 같이 저장된 데이터를 가공하여 얻은 결과이기 때문에 테이블의 별도의 이름이 없이 SUM(saleprice) 와 같이 출력되는 것을 확인할 수 있습니다. 이는 사용자 입장에서 시각적으로 불편함을 제공할 수 있기 때문에 AS 키워드를 사용하는 것이 좋습니다.

[DataBase] 데이터 조작어(DML) - GROUP BY [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. GROUP BY - GROUP BY 절을 사용하면 같은 속성 값끼리 그룹을 만들 수 있습니다. - 예를들어, GROUP BY custid 라고 명시하게 되면, DBMS에 있는 데이터 중 custid 가 같은 것 끼리 그룹화를 하게 됩니다. HAVING - HAVING 절은 GROUP BY 절의 결과로부터 그룹을 제한하는 역할을 수행합니다. - 예를들어, 도서수량이 3권인 경우만 출력할려는 경우 다음 예시와 같습니다. GROUP BY, HAVING 절 주의사항 GROUP BY<속성> 주의사항 GROUP BY로 투플을 그룹으로 묶은 후 SELECT 절에는 GROUP BY에서 사용한 과 집계함수만 나올 수 있음 맞는 예 SELECT custid, SUM(saleprice) FROM Orders GROUP BY custid; 틀린 예 SELECT bookid, SUM(salepr

[DataBase] 데이터 조작어(DML) - 두 개 이상의 테이블 조회JOIN [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. 조인(JOIN) - JOIN 연산자는 2개 이상의 테이블을 결합하는 연산자 입니다. - 만약 필요한 정보를 조회 할 경우 그 정보가 하나의 테이블에만 존재하지 않고 2개 이상의 테이블에서 조회를 해야만 할 경우 JOIN 연산자가 사용됩니다. - 예를들어, 어떤 고객이 주문한 총 구매액을 알고 싶을 경우 구매액은 Orders 테이블에 있고, 고객번호는 Customer 테이블에 있어 두 개의 테이블 조회해야 합니다. 이때 JOIN 연산자를 통해 해결할 수 있습니다.\ (※예시문은 데이터 결과 값의 일부분입니다.) 빨간색 : Customer 테이블 / 파랑색 : Orders 테이블 - 여기서 알 수 있는 점은 Customer 테이블의 고객의 튜플의 개수는 5명이고, Orders의 주문 튜플의 개수는 10개이므로 총 5x10, 50개 가 되는 것을 확인할 수 있습니다. - 문제점

[DataBase] 데이터 조작어(DML) - 부속질의 [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. 부속질의 - 만약 가장 비싼 도서의 이름을 찾을 때 일반적으로 2번의 테이블을 조회한 후 질문에 대한 답을 얻을 수 있습니다. ① 첫번 째로 가장 비싼 가격이 얼마인지를 알아야 하고, ② 두번 째는 조회할 도서 이름에 가장 비싼 35000원 이라는 조건을 걸어야 원하는 결과를 얻을 수 있습니다. - 이 처럼 번거로움이 존재하는데, 이를 해결할 수 있는 방법으로 부속질의를 사용해야 합니다. - 부속질의란 SELECT 문의 WHERE 절에 또 다른 테이블 결과를 이용하기 위해 다시 SELECT 문을 괄호로 묶어 다시 질의하는 것을 말합니다. 즉, 질의가 중첩이 되어 부속질의라고 합니다. - 부속질의의 실행순서는 파란색 박스의 WHERE 절의 부속질의를 먼저 처리한 후, 전체적 질의를 처리하여 결과를 줍니다.

[DataBase] 데이터 정의어(DDL) - CREATE [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. CREATE(테이블 생성) - CREATE 문은 테이블을 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의하는 명령입니다. CREATE 문법 CREATE TABLE 테이블이름 ( {속성이름 데이터타입 [NULL | NOT NULL |UNIQUE |DEFAULT 기본값 | CHECK 체크조건] } [PRIMARY KEY 속성이름(들)] [FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)] [ON EDLETE (CASCADE | SET NULL}] ) CREATE, ALTER에 사용되는 제약조건 CREATE, ALTER 에 사용되는 제약조건 기본키 지정하는 방법 1. PRIMARY KEY 를 명시 후 () 괄호를 통해 속성 지정 CREATE TABLE NEWBooK ( bookid NUMBER, bookname VARCHAR2(20

[SuNiNaTaS] Forensics 14 풀이 [내부링크]

문제 : suninatas 의 비밀번호를 알고 있는가 ? 다운로드를 클릭하게 되면 압축파일을 받을 수 있습니다. 첨부파일 evidence.tar 파일 다운로드 압축 파일을 풀게 되면 passwd, shadow 파일이 있는 것을 확인할 수 있습니다. 이를 passwd 파일을 notepad에 드레그 해서 확인해보면 가장 하단 부분에 suninatas의 계정과 해시된 패스워드를 확인할 수 있습니다. suninatas 계정 :(콜론) 뒤에 x 를 확인할 수 있는데, x의 의미는 암호화가 되어 있음을 의미하고 이는 etc/shadow 파일에 존재하게 됩니다. 그래서 주어진 파일의 shadow 파일을 확인해 볼 필요가 있습니다. passwd passwd 파일구조(필드) root : x :0 :0 : root : /root : /bin/bash 1 2 3 4 5 6 7 필드의 구분은 : (콜론)으로 구분되며 필드가 의미하는 바는 아래와 같다. 1: 사용자 계정 2: 사용자 패스워드 "x" 문자

[SuNiNaTaS] Forensics 15 풀이 [내부링크]

문제 : 음악을 좋아하는 하는가 ? 힌트 : 파일안에 인증키가 존재한다. Play the Music 을 클릭하게 되면 노래가 재생되는 것을 확인할 수 있습니다. 사운드 표시 옆에 클릭하면 diary.mp3 파일을 다운 받아지는 것을 확인할 수 있습니다. 그리고 파일의 속성에 들어가서 '자세히'에서 지휘자를 확인해보면 Auth 키를 볼 수 있습니다.

[DataBase] 무결성 제약조건 - 키(Key) [내부링크]

키(Key) 일상 생활에서 키(Key)는 집, 자동차, 금고 등 무언가를 잠그고 열때 사용됩니다. 아파트의 모든 집들이 같은 키를 사용하지 않을 것 입니다. 자기 자신의 집을 열수 있는 키는 유일한 1개일 뿐입니다. 이 처럼 '키'는 유일하게 식별한다는 의미를 가지고 있습니다. 키의 역할에는 크게 2가지가 있습니다. 첫 번째,관계 데이터베이스에서 키(Key)는 릴레이션에서 특정 튜플을 식별할때 사용하는 속성 또는 속성의 집합을 말합니다. 릴레이션의 특징 : https://blog.naver.com/ster098/222474125815 [DataBase] 관계 데이터 모델의 개념(3) - 릴레이션의 특징 릴레이션의 특징 1. 속성은 단일 값을 가진다. - 각 속성의 값은 도메인에 정의된 값만을 가질 수 있으며 ... blog.naver.com - 앞의 포스팅글에서 릴레이션은 중복된 튜플을 허용하지 않는다고 말했습니다. 중복을 허용하지 않기 때문에 각각의 튜플에 포함된 속성 중 어느 하

[Database] 오라클 설치와 기본 사용방법(SQL Plus, 최신버전 SQL Developer) [내부링크]

1. 다운로드 1. https://www.oracle.com/index.html 에 접속하여 좌측 상단 ORACLE 마크 옆의 돋보기를 클릭 후 XE 라고 적은 후 검색을 눌러줍니다. Oracle | Integrated Cloud Applications and Platform Services Click to view our Accessibility Policy Skip to content Home www.oracle.com 2. Oracle Database Express Edition (XE) Downlads 를 확인 후 클릭해줍니다. 3. Oracle Database XE Downlads 페이지가 뜨면 Window의 경우 하단의 Oracle Database 18c Express Edition for Windows x64 를 클릭해서 다운받아 줍니다. 4. 다운로드를 누른 후 라이센스에 관한 동의를 구하는데 체크 후 다운받아 줍니다. 5. 다운로드가 완료가 되면 압축파일이 다운받아져

[DataBase] SQL 이란 ? (데이터정의어, 데이터조작어, 데이터 제어어) [내부링크]

hostreviews, 출처 Unsplash SQL 이란 - SQL 은 Structured Query Language 의 약자로 1970년대 후반 IBM이 SEQUEL 이라는 이름으로 개발한 관계형 데이터베이스 언어를 말합니다. SQL 특징 1. SQL은 JAVA, C 언어와 같은 완전한 프로그래밍 언어가 아니라, 데이터 부속어라고 불립니다. - 데이터베이스의 데이터와 메타 데이터를 생성, 처리하는 문법만을 가지고 있어 데이터 부속어라고 불립니다. 2. DBMS에 입력해서 사용가능 하고, JAVA, C로 작성된 클라이언트/서버 응용 프로그램에 삽입하여 사용할 수 있습니다. 3. 보고서 또는 데이터 추출 프로그램에서 사용할 수 있습니다. 4. 흔히 사용되는 Visual Studio.NET 또는 다른 개발도구에서도 직접 실행할 수 있습니다. SQL 기능 SQL은 기능에 따라 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 나뉩니다. 1. 데이터 정의어(DDL

[DataBase] 데이터 조작어(DML) - SELECT [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. SELECT - 앞의 글에서 데이터 조작어 중 SELECT 문은 질의어라고 부른다고 했습니다. https://blog.naver.com/ster098/222500184062 [DataBase] SQL 이란 ? (데이터정의어, 데이터조작어, 데이터 제어어) SQL 이란 - SQL 은 Structured Query Language 의 약자로 1970년대 후반 IBM이 SEQUEL ... blog.naver.com - 질의어란, 데이터에 대한 요구/요청을 질문 형식으로 전달하여 이에 응답하는 것을 의미합니다. - SQL 에서 SELECT 문은 검색한 결과를 테이블 형태로 출력하는 것을 의미합니다. 쉽게 말해, 찾고하는 데이터를 물어보는 것 입니다. 거기서 추가적으로 조건 등이 붙어 세부적으로 조회할 수 있습니다. - 예를들면, '10000원 이상인 도서의 이름과 출판사를 보여줘

[DataBase] 데이터 조작어(DML) - SELECT(WHERE) [내부링크]

※ 실습에 사용된 스크립트(데이터)는 '오라클로 배우는 데이터베이스 개론과 실습 2판'의 데이터를 사용했습니다. 조건 검색(WHERE) 조건 검색이란 검색 하고자 하는 데이터를 좀 더 세부적으로 조건을 넣어 검색 요청하는 것을 의미합니다. 조건으로 사용할 수 있는 술어에는 비교, 범위, 집합, 패턴, NULL, 복합조건이 존재합니다. WHERE 절에 사용할 수 있는 술어 비교 - 조건 검색의 비교 술어는 =,>,<,<=,>= 등을 사용합니다. 예를들어 가격이 20000원 미만, 초과, 이상, 이하, 같음 등인 도서를 검색할 경우 WHERE 절에 작성합니다. - 주의할 점은 SQL 문 작성 시 천 단위를 표시하는 콤마(,)를 표시하지 않습니다. 범위 - 범위 술어는 BETWEEN 연산자를 사용하며, 값의 범위를 지정하여 검색 할 경우 WHERE 절에 작성합니다. 에를들어 13000원 이상 20000원 이하인 도서를 검색 할 경우 다음 예시문 과 같습니다. 집합 - 집합 술어는 두 개

[Dreamhack] csrf-1 [내부링크]

문제정보 ㆍ 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. ㆍ CSRF 취약점을 이용해 플래그를 획득하세요. 주요 소스코드(app.py) 소스 1 def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) try: ㆍread_url 을 보면, 쿠키 값을 생성하고 적용 또는 포함시키는 코드입니다. 소스 2 def check_csrf(param, cookie={"name": "name", "value": "value"}): url = f"http://127.0.0.1:8000/csrf?csrf={urllib.parse.quote(param)}" return read_url(url, cookie) 소스 3 @app.route("/vuln") def vuln(): param = request.args.get("param", "").lower() xss

[DataBase] 데이터베이스의 개념 및 특징 [내부링크]

AbsolutVision, 출처 Pixabay 데이터베이스의 사용 목적 - 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유할 목적으로 구축합니다. 데이터베이스의 개념 1. 통합된 데이터(Integrated data) - 여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 의미합니다. - 데이터를 통합할 시 중요한 점은 데이터의 중복을 최소화함으로써 중복 저장으로 인한 데이터 불일치 현상을 없애는 것 입니다. 2. 저장된 데이터(Stored data) - 흔히 눈으로 볼 수 있는 데이터가 아니라 디스크, 테이프와 같은 컴퓨터 저장 장치에 저장된 데이터를 의미 합니다. 3. 운영 데이터(Operational data) - 업무 및 조직의 목적을 위해 사용되는 데이터를 의미 합니다. - 여기서 중요한 점은 조직의 목적과 관계없이 저장된 데이터나 단순 입출력 데이터같이 임시로 저장된 데이터는 운영 데이터에 속하지 않습니다. 4. 공용 데이터(Shared data) -

[DataBase] 데이터베이스의 시스템의 기본 구성 [내부링크]

데이터베이스 시스템의 개념 - 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템을 말합니다. 데이터베이스 시스템은 데이터베이스 관리 시스템(DataBase Management System,DBMS), 데이터베이스(Database), 데이터모델(Data model)의 세가지로 구성 됩니다. 데이터베이스 시스템의 구성 1. DBMS(Database Management System) - 데이터를 관리하는 소프트웨어 시스템으로서 주기억장치에 상주하면서 사용자와 데이터베이스를 연결시켜 줍니다. 2. 데이터베이스(Database) - 베이스(Base)는 물건의 밑부분이나 개념의 토대를 의미하는 것으로서, 데이터를 통합시켜 저장하여 운영할 수 있는 공용 데이터들의 묶음입니다. 3. 데이터 모델(Data model) - 데이터가 저장되는 기법에 관한 내용으로, 눈에 보이지 않는 논리적인 개념입니다. - 가전제품에 붙여진 모델 번호가 가전제품의 특성을 보여주

[DataBase] 정보시스템의 발전 과정 [내부링크]

정보시스템의 발전 - 데이터베이스 시스템은 초기에는 적은 양의 데이터를 저장, 검색하는 수준이였지만 지금은 데이터 발생량이 증가하고 하드웨어와 반도체 기술이 발전하여 많은 양의 데이터를 저장할 수 있게 되었습니다. - 하드웨어와 반도체 기술이 발전해서 지금 방대한 데이터의 양을 처리할 수 있게 되었습니다. 기업정보 시스템의 발전 과정 1. 파일 시스템(File System) - 파일 시스템은 데이터를 파일 단위로 파일 서버에 저장합니다. - 각각의 컴퓨터는 LAN 으로 연결되어 있고, 파일서버에 저장된 데이터를 각 컴퓨터의 응용프로그램에서 열기/닫기를 요청할 수 있습니다. - 각 PC에서 응용프로그램에 독립적으로 파일을 다루기 때문에 중복 저장될 가능성이 있고, 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있습니다. 2. 데이터베이스 시스템(Database System) - DBMS를 사용하여 데이터를 통합 관리하는 시스템입니다. - 데이터베이스 시스템은 클라이언트 -

[DataBase] 데이터베이스 시스템의 추가 구성 [내부링크]

데이터베이스 시스템의 구성 - 데이터베이스 시스템의 기본 구성은 데이터베이스(Database), 데이터베이스 관리시스템(DBMS). 데이터 모델(Data model)입니다. - 데이터베이스는 하드디스크에 저장된 데이터를 말하고, DBMS는 주기억장치에 저장된 소프트웨어입니다. 데이터모델은 눈에 보이지 않는 논리적인 개념으로 데이터가 저장되는 기법에 관한 내용입니다 - 데이터베이스 시스템의 기본 구성요소 외에도 데이터베이스 언어, 데이터베이스 사용자가 존재합니다. 데이터베이스 시스템의 구성

[DataBase] 관계 데이터 모델의 개념(1) - 릴레이션의 개념 [내부링크]

관계 데이터 모델의 개념 - 1970년대 IBM 연구소의 에드가 코드(Edgar Frank "Ted" Codd) 컴퓨터 과학자가 수학의 집합이론에 근거하여 관계 데이터 모델을 제안했습니다. - 관계 데이터에 적용된 SQL 언어는 비절차적인 언어를 사용하여 원하는 데이터를 쉽고 편리하게 표한하는 장점을 가지고 있습니다. - 대표적인 관계 데이터 모델 기반 DBMS로 Oracle, SQL Server, DB2, MySQL, PostgreSQL, 모바일에는 SQLite 등이 존재합니다. 릴레이션의 개념 - 관계 데이터 모델을 이해하기에 앞써, 릴레이션에 대한 이해가 필요합니다. - 릴레이션은 행과 열로 구성된 테이블을 말하며, 테이블은 릴레이션을 시각적으로 표현한 방법을 말합니다. 테이블과 데이터 - 예시를 보면 각 선수는 순서, 선수이름, 스폰서, 주급의 원소의 값으로 가지고 있으며 선수의 집합은 다음과 같이 원소를 가집니다. 순서 = {1,2,3,4,5} 선수이름 = {손흥민, 메시,

[DataBase] 관계 데이터 모델의 개념(2) - 릴레이션 스키마와 인스턴스 [내부링크]

릴레이션의 구성 스키마와 인스턴스의 개념 1. 스키마 - 관계 데이터베이스에서 릴레이션 어떻게 구성되어 있으며, 어떤 정보를 가지고 있는지 또는 어떤 정보가 담길지에 대한 기본적인 구조를 정의 말합니다. - 테이블에서 스키마는 최상단 해더부분에 나타나며 데이터의 특징을 나타내는속성, 자료 타입 등의 정보를 담고 있습니다. 2. 인스턴스 - 스키마에 따라 테이블에 저장되는 데이터의 집합을 의미합니다. 도서 릴레이션 - 도서 릴레이션에서 도서번호, 도서이름, 출판사, 금액은 릴레이션의 구조를 정의 하며, 총 5권의 릴레이션에 저장된 데이터를 의미합니다. 릴레이션 스키마 1. 속성(Attribute) - 도서 릴레이션에서 도서번호, 도서이름, 출판사, 금액의 정보를 정의하고 있습니다. 여기서 각 열을 속성(Attribute)라고 합니다. 속성은 각 열 마다 각각의 이름이 있으며 그 이름을 보고 어떤 정보를 가지고 있는지 알 수 있습니다. 2. 도메인(domain) - 여기서 컴퓨터로 처리

[DataBase] 관계 데이터 모델의 개념(3) - 릴레이션의 특징 [내부링크]

릴레이션의 특징 1. 속성은 단일 값을 가진다. - 각 속성의 값은 도메인에 정의된 값만을 가질 수 있으며 그 값은 모두 단일 값이여야 합니다. 위배 된 예시 2. 속성은 서로 다른 이름을 가진다. - 속성은 한 릴레이션에서 서로 다른 이름을 가져야 합니다. - 예를 들면 도서 릴레이션의 속성을 보면 '도서이름', '도서이름' 가진 것을 확인할 수 있습니다. 이는 릴레이션의 특징에 위배된 경우 입니다. 위배 된 예시 3. 한 속성의 값은 모두 같은 도메인 값을 가진다. - 한 속성에 속한 열은 모두 그 속성에 정의된 도메인 값만을 가질 수 있습니다. 위배 된 예시 4. 속성의 순서는 상관없다. - 속성의 순서가 달라도 릴레이션 스키마는 같습니다. - 예를 들어, 릴레이션 스키마에서 (도서이름, 출판사) 순으로 속성을 표시하거나 또는 (출판사, 도서이름) 순으로 표시하여도 상관 없습니다. 5. 릴레이션 내의 중복된 튜플은 허용하지 않는다. - 하나의 릴레이션 인스턴스 내에서는 서로 중

[Dreamhack] image-storage [내부링크]

문제정보 ㆍ php로 작성된 파일 저장 서비스입니다. ㆍ 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. 주요 소스코드(upload.php) <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES)) { $directory = './uploads/'; $file = $_FILES["file"]; $error = $file["error"]; $name = $file["name"]; $tmp_name = $file["tmp_name"]; if ( $error > 0 ) { echo "Error: " . $error . "<br>"; }else { if (file_exists($directory . $name)) { echo $name . " already exists. "; }else { if(move_uploaded_file($tmp_name, $directory . $name

[하루 5분 - 영어단어] (2021.07.24) exempt,be required to,mandatory,symptom,arrival,account for [내부링크]

Russia, 3 others newly added to list of 2-week isolation countries 러시아 등 3개국, 2주 자가격리 국가 목록에 추가돼 https://www.koreatimes.co.kr/www/nation/2021/07/742_312689.html South Korea's health authorities said Friday that entrants from Russia and three other antions will have to undergo a mandatory two-week quarantine period, even if they are fully vaccinated. 대한민국 보건당국은 금요일 러시아 등 3개국의 입국자들이 코로나 19 백신 접종을 완료했더라도 2주간 자가격리를 거쳐야 한다고 밝혔다. With the addition of the four nations, arrivals from 26 countries will n

[하루 5분 - 보안뉴스] (2021.07.24) 윈도우ㆍ리눅스 취약점 발견, 최고 권한 탈취 까지 가능 [내부링크]

stadsa, 출처 Unsplash - 관련 윈도우 취약점 'CVE-2021-36934', 리눅스 취약점 'CVE-2021-33909' - 사용자 계정정보를 저장하는 데이터베이스 파일인 보안계정 관리자(SAM) 읽기 허용할 수 있으며, 이는 패스워드로 잠긴 데이터 접근, 시스템 관리자 권한 계정 생성까지 가능하여 특정 프로그램 설치 및 데이터 조회 변경 삭제 공격 행위도 수행할 수 있다. - 마이크로소프트는 일시적인 해결방법으로 SAM이 위치한 폴더 접근 제한, 볼륨 섀도 복사본(VSS)도 삭제할 것을 당부했다.

[하루 5분 - 영어단어] (2021.07.25) issue,forecast,daytime,up to,meteorogical,B as well as A [내부링크]

Heat wave warnings issued across Korea 전국 폭염경보 발령 https://www.koreatimes.co.kr/www/nation/2021/07/742_312428.html (2021-07-21 뉴스) A heat wave warning was issued for Seoul and many other parts of the country Monday, the state weather agency said, forecasting daytime highs of up to 36 C for the rest of the week 월요일 서울을 비롯해 전국 대부분의 지역에 폭염 경보가 발령됐다고 기상청은 밝혔으며, 이번 주 남은 기간 동안 낮 최고 기온 36도까지 오를 것으로 예측했다. issue 1. 발령하다 They issued a joint statement denying the charges 그들은 그 혐의를 부인하는 합동 성명을 발표했다. forecast

[하루 5분 - 영어단어] (2021.07.29) inappropriate, in hot water, sweat, be accused of, undermine, shed [내부링크]

MBC once again in hot water for belittling Olympic medalist 안창림 동메달, MBC 올림픽 중계 잇따른 논란 https://www.koreatimes.co.kr/www/nation/2021/06/742_311099.html Local broadcaster MBC, which apolozied recently over its inappropriate use of images and captions during its broadcast of the Tokyo Olympics opening ceremony, has been accused of belittling Korean judoka An Chang-rim, saying that his hard-won bronze medal was "not what we wanted." 최근 도쿄올림픽 개막식 방송 중 부적절한 이미지 사용과 자막으로 사과의 입장을 표명한 현지 방송사 MBC는 유도 국가대표

애플리케이션 보안 [내부링크]

14회 42. DoS 공격엔 다양한 종류가 있다. 다음 중 웹서버 운영체제(OS) 자원을 고갈시키는 DoS는 무엇인가? ①Syn Flooding ②GET Flooding ③Teardrop ④Syn Cookie 정답확인 : http://q.fran.kr/문제/10120/1 12회 42. 전자입찰시스템 및 프로토콜의 특징에 대한 설명 중 틀린 것은? ①전자 입찰 도구로는 자바, 디지털서명, XML 등이 이용될 수 있다. ②입찰 기간 마감은 여러 개의 입찰 서버가 있을 경우 단계적으로 마감된다. ③전자 입찰은 입찰자, 입찰 공고자, 전자입찰시스템으로 구성된다. ④전자 입찰 시 독립성, 비밀성, 무결성 등이 요구된다. 정답확인 : http://q.fran.kr/문제/10490/2 53. 다음에서 설명하는 정보보호 기술은? -.......

[Dreamhack] command-injection-1 [내부링크]

문제정보 ㆍ 특정 Host에 ping 패킷을 보내는 서비스입니다. ㆍ Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. 1. 주요 소스코드 - 크롬 개발자도구(F12) ㆍ프론트 단에서 코드를 확인해보면 pattern 속성을 확인할 수 있는데 pattern은 입력 값의 유효성 검사를 하기 위한 속성이다. 즉, 입력값을 제한 한다는 것 입니다. ㆍpattern 속성에 들어가 있는 값을 확인해보면 정규표현식으로 넣은 것을 확인할 수 있습니다. ㆍ[A-Za-z0-9.] : 영소문자, 숫자, &#34;.(마침표)&#34; ㆍ{5,20} : 최소5자 최대20자 ㆍ[A-Za-z0-9.]{5,20} : 최소 5자에서 최대 20자까지 영소문자, 숫자, &#34;.(마침표)을 포함 2. 주요.......

[Dreamhack] pathtraversal [내부링크]

문제정보 ㆍ 사용자의 정보를 조회하는 API 서버입니다. ㆍ Path Traversal 취약점을 이용해 /api/flag 에 있는 플래그를 획득하세요.! 주요 소스코드(app.py) ㆍusers 를 보면 &#x27;guest&#x27;, &#x27;admin&#x27; 계정이 있는 것을 확인할 수 있습니다. ㆍPOST 를 통해 api/user/{userid}&#x27; 로 요청하는 것을 확인할 수 있습니다. ㆍ@app.route에서 &#x27;@&#x27; 장식자를 나타낸다. flask 에서 주로 URL 연결에 사용되고, 다음 행의 함수부터 장식자가 적용됩니다. 이 말은 즉, @app.route(/api/flag) 은 host1.dreamhack.games:13411/getinfo/api/flag 를 가리키는 것 이다. 그리고 해당 주소에 접근했을 경우 return FLAG 를 통해 FL.......

[Dreamhack] simple_sqli [내부링크]

문제정보 ㆍ 로그인 서비스입니다. ㆍ SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 주요 소스코드(app.py) ㆍ3번째 줄과 6번째 줄을 유심히 살펴보면 어떻게 소스코드가 흘러가는지 감이 잡힐 것 입니다. ㆍ조건은 3번째 줄에서 userid의 값과 userpassword의 값이 같아야 합니다.. 그 후 , 6번째 문에서 userid 값이 &#x27;admin&#x27; 일 경우 FLAG값을 반환하게 됩니다. ㆍ간단히 정리하면 and 구문으로 인해 userid 값과 userpassword 값이 같아야하고, userid에 admin이 와야된다면 뒤에 구문을 무시하는 구문을 넣어 자연스레 and 구문의 의미가 없어지게 될 것 입니다. 풀이 ㆍ많은 사람.......

[Dreamhack] file-download-1 [내부링크]

문제정보 ㆍ File Download 취약점이 존재하는 웹 서비스입니다. ㆍ flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. 주요 소스코드(app.py) ㆍ@APP.route(&#x27;/upload) 코드를 통해 /upload 경로에서는 filename.find(&#x27;..&#x27;) !&#x3D; -1&#34; &#x27;..&#x27; 의 경우 필터링하고 filename에 &#x27;..&#x27; 입력된 내용이 요청이되면 upload_result.html 을 리턴합니다. ㆍ@APP.route(&#x27;/read&#x27;) 코드를 통해 /read 경로에서는 &#x27;..&#x27; 필터링 하는 코드가 안 보이는 것을 확인할 수 있습니다. ㆍ/read 경로의 게시글을 호출 시 GET 방식으로 사용하는 듯 합니다. 풀이 ㆍ&#x27;Upload My Memo&#x27; 를 클.......

[Dreamhack] xss-1 [내부링크]

문제정보 ㆍ 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. ㆍ XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt FLAG 변수에 있습니다. 주요 소스코드(app.py) def read_url ㆍread_url 을 보면, 쿠키 값을 생성하고 적용 또는 포함시키는 코드입니다. /vuln ㆍ/vuln 경로에서 &#34;param&#34; 파라미터의 값에 필터링하는 코드가 없는 것으로 보아 XSS 가 실행될 수도 있는 코드인 것 같습니다. /flag ㆍGET 메소드로 요청할 경우 &#x27;flag.html&#x27;을 리턴하고 POST 메소드로 요청할 경우 read_url 을 통해 FLAG 값을 얻을 수 있습니다. /memo ㆍ입력받은 파라미터 값을 문자로 그대로 출력해주는 경로입.......

[Dreamhack] cookie [내부링크]

문제정보 ㆍ 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. ㆍ admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 주요 소스코드(app.py) ㆍusers 를 보면 &#x27;guest&#x27;, &#x27;admin&#x27; 계정이 있는 것을 확인할 수 있습니다. ㆍ쿠키 생성 코드 풀이 ㆍ문제 풀기에 앞써 문제의 요점은 &#x27;admin&#x27; 계정으로 로그인했을 경우 Flag 값을 얻을 수 있는 것 입니다. ㆍ사용되는 계정을 &#x27;app.py&#x27; 소스를 통해 알 수 있지만 문제 메인 페이지 소스를 확인해보면 &#34;guest/guest&#34; 계정이 노출되어 있는 것 또한 확인할 수 있습니다. ㆍid : guest, password : guest 로그인을 시도하면 &quo.......

[하루 5분 - 영어단어] (2021.07.01) be exempt from,restriction,mandatory,prolonged,pandemic,amid [내부링크]

Vaccinated visitors from overseas to be exempt from 14-day quarantine starting this week 해외 접종자 입국시 이번 주부터 2주간의 의무 자가격리 면제 Vaccinated people visitng South Korea from overseas, except those from 21 high-risk nations, will be exempt from the mandatory two-week coronavius quaranine starting this week, as officials are easing the entry restrictions to allow more family visits amid the prolonged pandemic. 장기간의 코로나 19 대유행이 이어지는 가운데 가족 방문이 늘어날 수 있도록 입국 제한을 완화함에 따라 &#x27;변이바이러스 유행 국가&#x27; 21개국을 제외한 해외 백신 접종자들은 이.......

[하루 5분 - 보안뉴스] (2021.07.09) 서울대학교 병원 사이버 공격으로 인한 개인정보 유출 추정.. [내부링크]

- 서울대학교 병원 측은 7월 6일 &#x27;사이버공격에 의한 개인정보 유출(의심)&#x27;에 대한 안내 공지를 올렸다. - 유출된 정보는 병원 방문 시 입력하는 등록번호, 환자이름, 진료명 등이며 주민등록번호, 연락처, 거주지 등 개인정보 포함되지 않은 것으로 밝혔다. - 피해 규모는 정확히 밝혀지지 않았지만 보안 업계에 따르면 랜섬웨어 공격을 받을 것으로 추정. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;.......

[하루 5분 - 영어단어] (2021.07.09) condolence,stability,restore,turmoil,ensure,bereaved [내부링크]

Korea expresses condolences over death of Haiti&#x27;s president 한국, 아이티 대통령 사망에 애도를 표하다 The foreign ministry expressed &#34;deep condolences&#34; Thursday over the death of Haiti&#x27;s President Jovenel Moise, pledging to support efforts to restore efforts to restore political and social stability in the country 외교부는 목요일 조브넬 모이즈 아이티 대통령의 사망에 대해 &#34;깊은 애도&#34;를 표하면서 아이티의 정치적, 사회적 안정을 회복하기 위해 협조해 나갈 것이라고 약속했다. condolence 1. 애도, 조의 We offered our sincere condolence to her at her husbands&#x27; funeral 우.......

Dreamhack 소개 [내부링크]

Dreamhack 자기개발(보안)을 위해 우연히 찾다가 너무 괜찮아서 사이트를 소개할려고 합니다. 일반인들도 접근할 수 있고, 쉽게 배울 수 있는 사이트인 &#34;Dreamhack&#34; 입니다. https://dreamhack.io/ 1. 퀄리티가 높은 커리큘럼과 강의 Thori 홈페이지에서 확인해보면, &#x27;최고의 실력이 검증된 멘토들이 직접 준비한 커리큘럼&#x27; 이라고 적혀있습니다. 위 사진을 보면 알수 있듯이 웹해킹, 리버싱 등 보안을 하는 사람이라면 관심있는 강의들이 준비되어 있는 것을 확인할 수 있습니다. 또한, 각 파트별로 강의를 제공하고 있습니다. 위에 보면 알 수 있듯이 그림과 소스코드를 제공하여 읽은이에게 쉽고, 빠르게 이해시킬 수 있.......

[하루 5분 - 영어단어] (2021.06.25) onlooker,collapse,mast,indoors,shoplift,boil [내부링크]

onlooker 1. 명사 구경꾼 A crowd of on lookers gathered at the scene of the crash 구경꾼들이 무리 지어 충돌 사고 현장에 모여들었다. collapse 1. 동사 붕괴되다, 무너지다. 2. 동사 (보통 의식을 잃고) 쓰러지다. 3. 동사 (특히 열심히 일한 후에) 주저 앉다[드러눕다] 1. The roof collapsed under the weight of snow 지붕이 눈의 무게를 못 이기고 내려앉았다. 2. He collapsed in the street and diet two hours later 그는 길에서 쓰러져 두 시간 뒤에 사망했다. 3. When I get home I like to collapse on the sofa and listen to music 나는 집에 가면 소파 위에 드러누워 음악을 듣는 것을 좋아한다. mast 1. 명사 (배의) 돛대 2........

[하루 5분 - 보안뉴스] (2021.06.25) MicroSoft '윈도우 11' 공개 [내부링크]

- 한국시간 25일, 마이크로소프트가 &#x27;윈도우 11&#x27; 을 공개했다. 기존 윈도우 10 사용자도 하드웨어 사양 등의 조건이 충족할 경우 무료로 &#x27;윈도우 11&#x27; 업그레이드를 지원한다. - 업무, 학습, 게임등에 최적화됀 사용자 환경, 간편한 멀티태스킹을 지원 및 직관적인 디자인 등 다앙햔 요소 공개 - 아마존과의 파트너십을 통해 마이크로소프트 스토어에서 안드로이드 앱도 만나 볼 수 있다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3.......

[하루 5분 - 영어단어] (2021.06.29) defense ministry, service member, inoculation, first dose, as of, troop [내부링크]

Over 95% of troops aged under 30 receive first doses of COVID-19 vaccine 30세 미만 국군 장병 95% 화이자 백신 1차 접종 완료 More than 95 percent of service members aged under 30 have 30 have received their first doses of Pflzer&#x27;s coronavirus vaccine after the goverment began its inoculation campaign for younger soldiers earlier this month, the defense ministry said Saturday 정부가 이달 초 젊은 군인들을 위한 백신접종을 시작한 이후 30세 미만 군인의 95% 이상이 화이자 코로나바이러스 백신 1차 접종을 완료했다고 국방부가 토요일 밝혔다. defense ministry 1. 국방부 The Defense Ministry has also deci.......

[하루 5분 - 보안뉴스] (2021.06.29) 페이스북, 네이버 등과 같이 유명 웹사이트 주소에 접속할 경우 오타 한 번에 랜섬웨어 감염된다. [내부링크]

- 페이스북, 네이버 등과 같이 유명한 웹 사이트 주소와 유사한 주소로 랜섬웨어 유포 웹 사이트 제작 - 사용자 PC 내 IE(인터넷 익스플로러) 브라우저의 최신 보안패치 여부, 윈도우 버전 등 공격자가 설정한 랜섬웨어 감염 조건 확인 진행 - 감염 가능한 PC 일 경우 수차례 자동 리다이렉션(재이동)을 거쳐 매그니베르(Magniber) 랜섬웨어를 감염시킨다. - 사용자들은 OS, 인터넷 브라우저, 응용프로그램, 오피스 SW 등 최신버전 패치, 보안패치 적용, 백신 자동 업데이트 기능 사용 등 보안수치을 지켜야한다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x.......

[하루 5분 - 보안뉴스] (2021.07.01) 北 '김수키' 해커 단체 외교부, 안보, 통일 ,국방분야 종사자 대상으로 지속적인 해킹 시도 [내부링크]

- 이번 공격에 사용된 공격은 학술대회 참가 양식처럼 위장되어 있는 MS Word 파일로 보안 문서처럼 암호가 설정되어 있으나, 이는 보안 프로그램 탐지를 회피하기 위한 목적으로 사용된다. - 악성코드가 작동하면 1차적으로 국내 중소기업 홈페이지와 1차 통신, 그 후 공격자들이 구축한 특정 구글 블로그와 2차 통신을 수행한다. - 공격자가 구축한 구글 블로그에 접속을 시도할 때 사용되는 코드는 사용자의 시스템 정보 유출을 시킨다.(사용자 이름, OS 버전, 현재 실행중인 프로세스 목록, 최근 사용한 문서 목록, 데스크톱 문서 목록 등) &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3.......

[하루 5분 - 보안뉴스] (2021.06.21) 원자력연구원..그리고 대우조선해양, 방위산업체 까지 北 해킹 그룹으로 부터 연이은 해킹사건 [내부링크]

- 지난 주 한국원자력연구원이 北 해커 단체로부터 해킹을 당했다. 그에 이어 대우조선을 비롯하여 방위산업체까지 연이은 해킹 시도 사실이 밝혀지기 시작했다. - 어제 오늘일이 아니라 北 해커 단체는 국방, 안보, 탈북자 등을 대상으로 끊임 없이 APT(지능형지속위협) 공격을 시도하여 정보를 취득하는 공격을 했다. - 최근에는 내부망에 침투할 수 있는 VPN(가상사설망)을 통한 접근 시도가 증가하고 있다. - 주말에는 맥OS 사용자 대상으로 공격시도를 한것도 드러났다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[하루 5분 - 영어단어] (2021.06.18) windfall,pothole,cashier,ball,couteroffer [내부링크]

windfall 1. 명사 우발적인 소득, 뜻밖의 횡재 2. 명사 바람에 떨어진 과실, 낙과(특히 사과) The hospital got a sudden windfall of $300,000 그 병원은 갑자기 30만 파운드를 얻는 횡재를 하게 되었다. pothole 1. 명사 (도로에) 움푹 패인 곳 The road has a big pothole 도로에 큰 구멍이 뚫려있다. cashier 1. 명사 (은행상점호텔 등의) 출납원 You can pay the cashier at the front 프런트에 있는 출납계 직원에게 지불하시면 됩니다. 2. (타)동사 (군대에서) 징계 면직하다 - - ball 1. 명사 무도회, 댄스 파티(성대하고 정식의) lead the ball 무도의 선도역할을 하다. counteroffer 1. 명사 대안(제출); [상업] 수정 제안, 카운터 오.......

[하루 5분 - 보안뉴스] (2021.06.18) 이랜드 랜섬웨어 공격 및 카드정보 유출한 '클롭 랜섬웨어' 조직, 우크라이나-한국 경찰 공조로 체포 [내부링크]

- 우크라이나와 한국이 국제 공조를 통해 &#x27;클롭 랜섬웨어&#x27; 조직 일원으로 보이는 6명 체포 및 압수수색(현금, 컴퓨터 등) - &#x27;클롭 랜섬웨어&#x27; 조직은 주로 이메일을 통해 랜섬웨어 유포, 수신한 사용자가 랜섬웨어가 담긴 파일을 실행할 경우 악성코드가 실행이되어 C&#38;C 서버에서 추가적인 파일을 받아 원격 제어 도구 &#x27;Flawed Ammyy RAT&#x27; 공격수행 - 이들은 특정 기업의 내부서버 목표로 하여 전체 네트워크를 장악하고 감염시키는 지능형 지속위협(APT) 방식을 사용하고 있다고 밝힘 &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[하루 5분 - 영어단어] (2021.06.19) light,pitcher,ringleader,hoist,saute [내부링크]

light 1. 동사 (말ㆍ차 등에서) 내리다 ((from)) 2. 동사 (장소 위에) 머물다; 착륙하다((on, upon)) (light+[전]+[명] The bird lighted on the branch 새가 나뭇가지에 내려앉았다. 3. 동사 우연히 만나다, 우연히 보다 ((on));(싼 물건ㆍ단서 등을) 우연히 얻게 ㅗ디다 ((on)) (light+[전]+[명]) light on a clue 우연히 실마리를 발견하다 pitcher 1. 명사 항아리(특히 과거에 물을 담는 데 쓰던, 손잡이가 한ㆍ두 개 달린 것) a pitcher of water 물 한 주전자 2. 명사 투수 The pitcher was on the bereavement list and absent from the game 투수는 가족상 휴가자 명단에 있었고 경기에 불참했다. ringleader 1. 명사 (범죄 단체 등의) 우.......

[하루 5분 - 보안뉴스] (2021.06.19) '한국원자력연구원', 北 해커단체로 추정되는 세력에 해킹을 당했다. [내부링크]

- 국회 정보위원회 소속 하태경 의원이 지난달(5월) 14일 北 해커 단체로 추정되는 IP를 통해 &#x27;한국원자력연구원&#x27;이 해킹됐다고 발표했다. - &#x27;2016년 국망방 해킹 사건&#x27;과 버금가는 초대형 보안 사고 - IP 이력 추적한 결과 北 해커단체는 &#x27;김수키(kimsuky)&#x27;가 지난해 코로나 백신 제약회사를 공격했던 북한 해커 서버로 연결된 것으로 확인되어 북한 해커 단체 &#x27;김수키(kimsuky)&#x27; 로 추정 - 해커가 사용한 이메일 주소가운데 문정인 전 외교안보특보의 이메일 아이디도 발견 &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3.......

[하루 5분 - 영어단어] (2021.06.21) flagpole,padlock,weld,sunburn,onlooker [내부링크]

flagpole 1. 명사 깃대 Most buildings had a flagpole with the national colours flying 대부분의 건물들에는 휘날리는 국기가 달린 깃대가 있었다. padlock 1. 명사 맹꽁이자물쇠 2. 동사 맹꽁이자물쇠로 잠그다. She always padlocked her bike th toe railings 그녀는 항상 자전거를 맹꽁이자물쇠로 난간에 잠가 놓았다. weld 1. 동사 용접하다, 용접해 붙이다. 2. 동사 (사람들 사물들을 강력한 집단으로) 결합시키다[뭉치게 하다] 3. 명사 용접 부위, 용접점 to weld a broken axie 부러진 굴대를 용접하다 They had welded a bunch of untrained recruits into an efficient fighing force 그들은 훈련되지 않은 신병들을 결합시켜 실력.......

[하루 5분 - 영어단어] (2021.06.12) polite, national, allowance, confide, croon [내부링크]

polite 1. 형용사 예의 바른, 공손한, 정중한 Plesase be polite to our guests 손님들께 공손히 대해 주세요. national 1. 형용사 국가의, 전국적인; 전 국민의 National and local newspapers 전국지 및 지방지 allowance 1. 명사 용돈; (특정 목적을 위한) 비용[수당] An allowance of $20 a day 하루 20달러의 용돈 confide 1. 동사 (비밀을) 털어놓다. She confided all her secrests to her best friend 그녀는 가장 친한 친구에게 모든 비밀을 털어 놓았다. croon 1. 동사 (조용히 부드럽게) 노래하다. She gently crooned a lulaby 그녀가 조용히 자장가를 불렀다.

[하루 5분 - 보안뉴스] (2021.06.12) 유명 공격 단체 그룹을 사칭하여 '랜섬디도스' 협박하는 단체 [내부링크]

- 라자루스, 팬시베어, 아르마다 컬렉티브 등 유명 공격 단체의 그룹을 사칭하여 &#x27;랜섬디도스&#x27; 공격을 하는 단체가 화제가 되고 있다. - 이들이 사칭하는 이유는 공격을 할 때 자신들의 접근에 신뢰를 얻기 위해 수단일수도 있다.(우리 이 정도다!, 우리 실력있는 단체이다!) - 협박 이메일은 Whois에 등록된 대표 주소나 홍부실 등 대표적인 공개 연락처로 오는 경우가 상당수이다. - 피해자들에게 요구하는 금액은 2 Bitcoin 인 것으로, 아직까지 Bitcoin이 아직 강세인 것도 알 수 있다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[하루 5분 - 영어단어] (2021.06.13) neat,maximum,cubbyhole,anchor,proximity [내부링크]

neat 1. 형용사 정동된, 단정한, 말쑥한 a neat desk 정돈된 책상 maximum 1. 형용사 (크기빠르기 등이) 최고[최대]의 the maximum speed/temperature/volume 최고 속도/기온/최대 용량 cubbyhole 1. 명사 작은 방[공간] My office is a cubbyhole in the basement 내 사무실은 지하실에 있는 작은 방이다. anchor 1. 명사 닻 to drop anchor 닻을 내리다 proximity 1. 명사 (거리ㆍ시간상으로) 가까움[근접] a house in the proximity of the motorway 고속도로에 가까이 있는 주택

[하루 5분 - 보안뉴스] (2021.06.13) 기상자산 거래소를 사칭한 '스미싱' 기승, 이번에는 후오비 SNS 공식계정 사칭 [내부링크]

- 후오비거래소는 11일 후오비 코리아 거래소 관계자를 사칭한 스미싱 피해 사례가 잇따르고 있어 주의가 필요하다고 발표했다. - 업계 관계자로 위장한 이벤트 당첨 SNS 메시지, 유사 사이트 광고 등 암호화폐 입금을 유도하는 방식이 이용된다. - &#x27;후오비 코리아는 절대 고객에게 암호화폐 자산 이동을 요구하지 않기 때문에 스미싱이 의심되는 경우 후오비코리아 고객센터로 문의바란다&#x27;고 전달했다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D.......

[AWS Practitioner] AWS Support 및 Plan 정리 [내부링크]

Udemy 및 다른 모의문제 사이트에서 문제를 풀어보고 AWS Support 에 대해 문제가 많이 나오길래 정리해봤습니다. 필요하신 분들은 가져가셔도 됩니다.

[하루 5분 - 영어단어] (2021.06.14) traffic light,stalk,strum,windfall,turnstile [내부링크]

traffic light 1. 명사 (교통) 신호등 Turn left at the traffic lights 신호등에서 좌회전하세요. stalk 1. 타동사 &#60;사냥감,사람 등에&#62; 몰래 접근하다;가만히 뒤를 밟다;&#60;이성에게&#62;집요하게 추근대다 2. 타동사 &#60;병 재해 등이&#62; &#60;어떤 지방에&#62; 만연하다, 퍼지다 Disease stalked the land 질병 나라를 휩쓸었다. 1. 자동사 젠체하며 걷다, 으스대며 걷다, 활보하다 stalk out of a room 젠체하며 방에서 걸어나가다 strum 1. 동사 (기타 같은 것을) 치다. As she sang she strummed on a guitar 그녀는 노래를 부르며 기타를 쳤다. windfall 1. 명사 우발적인 소득, 뜻밖의 횡재 The hospital got a sudden windfall of .......

[하루 5분 - 보안뉴스] (2021.06.14) 유명 여성의원과 피부과 '랜섬웨어' 해킹에 이어, 도서 플랫폼, 출판사 해킹 [내부링크]

- 병원 &#x27;랜섬웨어&#x27; 해킹 공격에 이어 도서출판사, 도서문화 플랫폼 사이트가 연이어 공격을 당했다. - 도서문화 플랫폼 사이트는 내부 데이터베이스(DB)가 유출됐고, 이는 딥웹에 확산되어 개인정보 약16,500 여건이 유출 - 도서 출판사의 경우 이메일, 패스워드 및 계정정보가 포함된 약 49,000건이 딥웹에 유출되었다. - 유출된 정보를 통해 사회공학적 기법 바탕으로 제 2차 피해를 가지고 올 수 있다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x.......

[하루 5분 - 보안용어] (2021.06.15) 시간이 지날수록 중요해지는 'OSINT(공개출처정보)' 의 서비스 [내부링크]

- 많은 사람들은 &#34;오늘날은 정보의 홍수 시대&#x27;라고 말한다. 여기서 말하는 정보란 공개출처정보, 즉 OSINT(오신트)를 의미한다. 이 처럼 홍수처럼 넘처나는 정보들로 부터 잘 이해하고 주요 문제,유익한 정보를 정책결정기관에 전달하는 것이 중요해졌다. 현재에는 미국 대통령이 받는 일일 브리핑(국가 안보사항 등)의 90~95% 정보가 공개정보로 부터 수집된 정보이다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;.......

[하루 5분 - 영어단어] (2021.06.15) unprepared,upstanding,typewriter,upholster,walkway [내부링크]

unprepared 1. 형용사 준비[대비]가 안 된, 예상 못한 She was totally unprepared for his response 그녀는 그의 반응을 전혀 예상하지 못했었다. 2. 형용사 선뜻 하려 하지 않는, 각오가 안 된 She was unprepared to accept that her marriage was over 그녀는 자신의 결혼 생활이 끝났다는 것을 선뜻 받아들일 수가 없었다. upstanding 1. 형용사 강직한, 정직한 An upstanding mimber of the community 공통체의 강직한 구성원 typewriter 1. 명사 타자기 take the cover off a typewriter 타자기의 덮개를 벗기다. upholster 1. 동사 (소파 등에 충전재를 대고) 천[덮개]을 씌우다. It takes four craftsmen about 30 hours to build, upho.......

[하루 5분 - 영어단어] (2021.06.17) pant,moor,amount,clan,drifter [내부링크]

pant 1. 동사 (숨을) 헐떡이다. She finished the race panting heavily 그녀는 거칠게 숨을 헐떡이며 경주를 끝냈다.[결승점을 통과했다.] moor 1. 명사 (특히 잡초와 야생화 히스(heather)로 뒤덮인 고지대의) 황야 지대 [황무지] the North York moors 요크 북부의 황야 지대 2. 동사 (배를) 계류[정박]하다 We moored off the north coast of the island 우리는 그 섬의 북쪽 연안에 배를 정박시켰다. amount 1. 명사 [the ~] 총액, 총계; (대부금의) 원리 합계(total) ((of)) 1. 명사 양(quantity), 액수(sum) a large[small] amount of sugar 다량[소량]의 설탕 clan 1. 명사 (특히 이유로 관련을 갖는) 집단[무리] one of a growing clan .......

[하루 5분 - 클라우드 용어] (2021.06.11) Amazon EC2 개요 및 기능, 요금 [내부링크]

Amazon EC2 개요 - Amazon Elastic Compute Cloud의 약자 - 안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스 - 여러가지 프로세서, 스토리지, 네트워킹, 운영 체제, 구매 모델을 선택이 가능한 가장 폭 넓고 세분화된 컴퓨팅 플랫폼을 제공 &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&.......

[하루 5분 - 클라우드 용어] (2021.06.10) Rigion(지역), Availability Zones(가용 영역) [내부링크]

Rigion(지역) - AWS가 전 세계에서 데이터 센터를 클러스터링하는 물리적 위치를 리전이라고 한다. - 지리적 영역 내에서 격리되고 물리적으로 분리된 여러 개의 AZ로 구성 Availability Zones(가용 영역) - AWS Rigion 의 중복 전력, 네트워킹 및 연결이 제공되는 하나 이상의 개별 데이터 센터(하나 이상의 물리적 데이터 센터)로 구성 - AZ 간에 높은 처리량과 지연시간이 짧은 네트워킹 제공 - AZ 간의 모든 트래픽은 암호화된다

[하루 5분 - 영어단어] (2021.06.11) peek,creater,outburst,furvent,amusing [내부링크]

peek 1. 동사 (재빨리) 훔쳐보다 No peeking! 훔쳐보기 없기! creator 1. 명사 창조[창안/창작/]자 Walt Disney, the Creator of Mickey Mouse 미키마우스를 만들어 낸 월크 디즈니 outburst 1. 명사 (감정의) 폭발[분출] an outburst:of anger 분노의 폭발 furvent 1. 형용사 열렬한, 강렬한 a furvent admirer/believer/supporter 열렬한 팬/신봉자/지지자 amusing 1. 형용사 재미있는, 즐거운 an amusing story/game/incident 재미있는 이야기/게임/사건

[하루 5분 - 보안뉴스] (2021.06.11) 구글 크롬, 윈도우 10 제로데이 이용해 사이버위협_퍼즐메이커(PuzzleMaker) [내부링크]

- 카스퍼스키 연구원은 전 세계 여러 회사 대상으로 구글 크롬 및 윈도우 10 제로데이 익스플로잇 체인을 사용한 위협 행위자 퍼즐메이커(PuzzleMaker)를 발견했다고 발표했다. - 공격에 사용된 익스플로잇 체인은 크롬 V8 자바스크립트 엔진 원격 코드 실행 취약점을 사용해 타깃 시스템에 액세스한다. - 그 후 윈도우 커널, NTFS 권한 취약점을 악용하여 윈도우10 버전을 타깃으로 하는 권한 상승 익스플로잇을 사용했다. - 이와 유사한 공격은 2020년 2월, 10월에 두번 발생했고, 두개의 익스플로잇 서버를 호스팅하는 최소 12개의 웹 사이트를 사용했다. - 최소 12개의 웹 사이트는 ios, 윈도우 또는 안드로이드 사용자들을 타깃으로 했다. &.......

[하루 5분 - 보안용어] (2021.06.11) Mitre ATT&CK [내부링크]

- MITRE Corporation은 1958년 설립된 비영리단체입니다. - MITRE는 Winsdows 엔터프라이즈 지능적 지속적 위협이 사용한 일반적인 전술, 기술 및 절차(TTP)를 문서화하기 위해 ATT&#38;CK 사이버 보안 프레임워크(Adversarical Tactory, Technologies 및 Common Knowlege)를 시작했습니다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;.......

[하루 5분 - 영어단어] (2021.06.08) giggle,cycle,class,clasp,dashing [내부링크]

giggle 1. 동사 피식 웃다, 킥킥[키득/낄낄]거리다. The girls giggled at the joke 여자애들이 그 농담을 듣고 킥킥거렸다. cycle 1. 명사 자전거; 오토바이 We wnet for a cycle ried on Sunday 일요일에 우리는 자전거를 타러 갔다. class 1. 명사 학급[반] (학생들 We were in the same class at school 우리는 학교 다닐 때 같은 반이었다. clasp 1. 동사 (꽉) 움켜쥐다[움켜잡다] He leaned forward, his hands clasped tightly together 그는 두 손을 함께 꽉 움켜자고 몸을 앞으로 구부렸다. dashing 1. 형용사 늠름한 a dashing young officer 늠름한 젊은 장교

[하루 5분 - 영어단어] (2021.06.09) cache, premise, lyrical, horrible, faint [내부링크]

cache 1. 명사 (무기 등의) 은닉처 an arms cache 무기 은닉처 premise 1. 명사 (주장의) 전제 the basic premise of her argument 그녀 주장의 기본 전제 lyrical 1. 형용사 서정적인, (표현이) 아름답고 열정적인 a lyrical melody 서정적인 멜로디 horrible 1. 형용사 지긋지긋한, 끔찍한 horrible weather / children / shoes 지긋지긋한 날씨 / 아이들 /신발 faint 1. 형용사 (빛, 소리, 냄새 등이) 희미한[약한] a faint glow/ glimmer /light 희미한 빛

[하루 5분 - 보안뉴스] (2021.06.09) Fastly(패스틀리) 가 마비되어 대형 웹 사이트 먹통, "CDN" 하나가 일으킨 문제 [내부링크]

- 미국 클라우드 컴퓨팅 서비스 제공 업체인 Fastly(패스틀리)가 &#x27;정전현상&#x27; 으로 페이팔, 깃허브, 영국 정보 공식 웹사이트가 마비가 되는 현상이 일어났다. - &#x27;Fastly&#x27; 장애로 유명 웹 사이트에 접속을 하게 되면 오류메시지(Error 503 Service Unavailable) 가 사례들이 속출했다. - 인터넷 트래픽의 지연시간을 줄여주는 &#x27;CDN&#x27; 의 마비가 원인이였다. - 많은 회사들이 &#x27;CDN&#x27; 을 사용하지 않는 모드로 서비스를 복구했지만 사이트 속도가 느려지는 상황이였다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x.......

[하루 5분 - 보안뉴스] (2021.06.10) 北 '김수키 해킹조직' 정보 수집 목적으로 'KISA, 외교부 ,대사관 등' 백도어 공격시도 [내부링크]

- 北 &#x27;김수키 해킹조직&#x27; 이 민감한 정보 수집 목적으로 안드로이드 및 윈도우 백도어를 설치하기 위해 남한의 공무원들 대상으로 공격을 시도했다. - 윈도우 사용자 대상으로 &#x27;AppleSeed&#x27; 라는 백도어를 사용하는 것 외에도 안드로이드 사용자 대상으로도 백도어를 사용했다. - 킴수키(일명 Velvet Chollima, Black Banshee, Thallium), 는 해킹조직은 멀웨어 소스코드에 자신을 Thallium이라고 명명해놓았다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&.......

[하루 5분 - 영어단어] (2021.06.10) please,legendary,reverse,balmy,dread [내부링크]

please 1. 동사 &#60;남에게 정중하게 무엇을 부탁하거나 하라고 할 때 덧붙이는 말&#62; Please sit down 앉으세요 legendary 1. 형용사 전설적인, 아주 유명한 a legendary figure 전설적인 인물 reverse 1. 동사 (정반대로) 뒤바꾸다, 반전[역전]시키다 to reverse a procedure / process /trend 절차/과정/흐름을 뒤바꾸다 balmy 1. 형용사 아늑한, 훈훈한 a balmy summer evening 훈훈한 여름 저녁 dread 1. 동사 (~을) 몹시 무서워하다; (안 좋은 일이 생길까 봐) 두려워 하다. This was the moment he gad been dreading 이것은 그가 몹시 두려워해 오던 순간이었다.

[AWS Cloud] - AWS Practitioner_네트워킹 및 콘텐츠 전송 요약 및 문제 [내부링크]

필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 7문제)

[AWS Cloud] - AWS Practitioner_AWS 보안, 자격증명 및 규정준수 요약 및 문제 [내부링크]

필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 5문제)

[AWS Cloud] - AWS Practitioner_AWS 클라우드 컴퓨팅과 이점 요약 및 문제 [내부링크]

필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 4문제)

[AWS Cloud] - AWS Practitioner_Amazon Cloud Storage 요약 및 문제 [내부링크]

필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 6문제)

[하루 5분 - 영어 단어] 2021.06.07 rebuild, ascertain, press, conjure, domain [내부링크]

rebuild 1. 동사 (건물 등을) 다시 세우다(재건하다]; 다시 조립하다 After the earthquake, the people set about rebuilding their homes. 지진이 끝난 후에 사람들은 집을 다시 짓기 시작했다. ascertain 1. 동사 (옳은 정보를) 알아내다[확인하다] It can be difficult to ascertain the facts 사실을 알아내기가 어려울 수도 있다. press 1. 명사 신문(과 잡지), 언론 the local/national/foreign press 지역 신문[지방지]/전국지/외국 신문[외신] 2. 동사 (무엇에) 바짝 대다[밀착시키다/밀착되다], (무엇에 대고) 누르다[눌리다] She pressed her face against the window 그녀는 창문에 얼굴을 바짝 대었다. conjure 1. 동사 마술을 하다.......

[하루 5분 - 보안뉴스] (2021.06.07) 성형외과에 이어 산부인과ㆍ피부과 '랜섬웨어' 해킹, 민감한 정보 딥웹에 유출 [내부링크]

- 5월 22일에 유명 성형 외과가 랜섬웨어 공격에 당한 사건이 있었다. 이 사건은 개인정보 유출에 관해서 아직 불분명한 상 태인 것으로 보인다. - 2021.06.07 보안뉴스 기사에 따르면 성형 외과에 이어 산부인과ㆍ피부과 까지 랜섬웨어 공격을 당했으며, 민감한 정보(고객정보ㆍ개인상담 내용 등)를 포함한 내용이 딥웹에 공개 된것으로 보인다. - 해커들이 병원 고객들에게 직접 연락 또는 인터넷에 개인정보 무차별 확산으로 인한 2차 피해가 있을 수도 있다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[하루 5분 - 클라우드 용어] (2021.06.07) Cloud Computing [내부링크]

Cloud Computing IT 리소스를 인터넷을 통해 온 디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말한다. &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[하루 5분 - 보안뉴스] (2021.06.08) 사람들의 삶을 파괴하고 있는 "일론 머스크", 그에 경고한 "어나니머스", 진짜인가 ? [내부링크]

- 6월 5일 비트코인 및 암호화폐 시장을 언사와 기행으로 어지럽히고 있는 머스크에게 &#34;어나니머스&#34; 가 경고하는 영상을 인터넷에 올렸다. - 공식 트위터 계정에서는 &#34;YourAnonNews&#34; 라고 언급하며 자신들과 관련없다고 발표, &#34;어나니머스 오피셜(Anonymous Official) 유튜브 채널에도 업로드가 안 되어 있다. - 또 다른 채널 &#34;유어아논센트럴(YourAnonCentral), Anonymous Youtube) 채널에서는 업로드가 되어있다. - &#34;어나니머스(Anonymous) 단체 내부에서 소통이 안 된 것인지, 또는 다른 사람이 사칭한 것 인지? &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#.......

[AWS Cloud] - 아마존 웹서비스와 클라우드 컴퓨팅 [내부링크]

https://opentutorials.org/course/2717/11268 클라우드 컴퓨팅 ㆍ 내 PC에서 처리해야 하는 무수히 많은 데이터들을 처리하기 위해서는 시간이 오래걸릴 수 있다. 그래서 클라우드라는 거대한 컴퓨터에 보내어 데이터를 처리하게 만들고 처리한 결과를 인터넷을 통해 내 PC에 다운받아서 화면에 보여주게 한다. ㆍ 인터넷의 연결되어 있는 거대한 컴퓨터를 사용한다. 아마존이 제공하는 상품들이다. 상품들 하나하나가 거대한 컴퓨터를 제공한다. 여기서 보여지는 각 상품들은 각자만의 특성을 지닌 상품들이다. ㆍ 인프라에서 기본적으로 제공하는 상품 ㆍ 트렌드 및 특정한 상황에서 사용될 수 있는 특수한 상품들 또한 제공되고 있다.

[AWS Cloud] - 지역(Region)과 가용구역(avaliablity zone) [내부링크]

https://opentutorials.org/course/2717/11271 지역 (Region) Cloud Services 를 사용하는데 있어서 매우 중요하다 Cloud Services를 제공하는 인프라 서버가 사용자와 거리가 멀 수록 경유지가 많을 수 있으므로 트래픽 지연 및 가격면에서 차이를 보일 수 있기 때문이다. 다음은 지역을 선택하는데 있어서 도움을 주는 사이트이다. http://www.cludping.info 그림과 같이 Asia Pacific(Seoul)이 보여지는 것 처럼 서울에서도 AWS Cloud 인프라를 제공하여 다른 지역에 비해 지연시간이 짧은 것을 확인할 수 있다. 가용용역(avaliablity zone) 독립되어 있는 지역이 있을 경우 제공하는 서비스가 있을 것이다. 그 중 서비스 마비, 오류 등 가용.......

2021 년 자격증 목표 및 접수기간 [내부링크]

정보보안기사 실기 빅데이터 분석 기사 데이터 분석 준전문가(ADSP) 제41회 SQL 개발자(SQLD)

[AWS Cloud] EC2, Instance 생성 [내부링크]

EC2 란 ? 아마존 서비스 중 가장 먼저 생성된 서비스, 범용적인 서비스 독립된 서비스를 제공해준다. Instances 컴퓨터 한 대라고 생각하면 된다 예) Instances 이 3이면 컴퓨터 3대를 임대했다고 생각하면 된다. 1. Choose AMI 사용 할 운영체제를 선택할 수 있다. 기능) Ubuntu, Amazon Linux, Redhat, Windows 등.. 2. Choose an Instance Type(인스턴스 유형 선택) 사용 할 컴퓨터의 사양을 선택할 수 있다. 기능) t2.micro(vCPUs, Memory, Instances Storage (GB),Network Performance) vCPUs &#x3D; 가상의 CPU Network Performance &#x3D; 데이터를 전송할 수 있는 상태 3. Configure Instances 선택 한 컴퓨터를 세팅을 할 수 있다. 기능.......

[AWS Cloud] Putty를 사용하여 Windows에서 Linux 인스터스 터미널 연결 [내부링크]

Windows 에서는 SSH 역할을 수행하는 것을 가지고 있지 않기 때문에 SSH 역할을 수행하는 프로그램을 설치해야한다. 대표적으로 Xshell, Putty 등이 존재한다. 여기서는 Putty 를 사용하여 원격 접속하는 방법을 소개한다. &#60;Putty 설치 경로&#62; https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 1. 생성한 Instance ID 에서 오른쪽 마우스를 클릭하면 &#34;연결&#34; 을 볼 수 있다. 2. &#34;연결&#34; 을 클릭해서 들어가게 되면 첫 페이지가 &#34;EC2 인스턴스 연결&#34; 화면을 볼 수 있지만 우리는 원격접속을 하기 위한 IP 주소를 얻기 위해 &#34;SSH 클라이언트&#34; 를 클릭해야 한다. &#34;SSH 클라이언트.......

[AWS Cloud] AWS Cloud 자격증 Practitioner 이해 [내부링크]

AWS 에서 해당 자격증에 대한 가이드 문서 경로 • https://aws.amazon.com/certification/certified-cloud-practitioner/ • 영어가이드 : https://d1.awsstatic.com/training-and-certification/docs-cloud-practitioner/AWS_Certified_Cloud_Practitioner_Exam_Guide_v2.1.pdf • 한글가이드 : https://d1.awsstatic.com/ko_KR/training-and-certification/docs-cloud-practitioner/AWS-Certified-Cloud-Practitioner_Exam-Guide.pdf Cloud Practitoner 응시자의 능력 검증 • AWS 클라우드의 의미 및 기본적인 글로벌 인프라 정의 • AWS 클라우드의 기본적인 아키텍처 원리 설명 • AWS 클라우드의 가치 제안 설명 • AWS 플랫폼에서 실행되.......

[AWS Cloud] - AWS Practitioner_Database 요약 및 문제 [내부링크]

반드시 필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 6문제) 페이지 밑에 답을 제공해놨습니다.

[AWS Cloud] - AWS Practitioner_책임 모델 요약 및 문제 [내부링크]

필요한 내용들을 요약하고 자주 출제되는 문제들에 관해 제 방식대로 문제를 만들어 보았습니다. 필요하신분들은 가져가세요. (총 문제는 3문제) 페이지 밑에 답을 제공해놨습니다.

정보보호 관련 법규 [내부링크]

해당 글은 알기사 1200제 문제를 풀면서 정리한 내용이며, 해당 파일은 해당 글을 pdf 한 글 입니다.

정보보안기사 필기 16회 가답안 ,복기,복원 [내부링크]

알기사 카페 참고 및 제 기억에서 나온거라 틀린 내용이 있을 수 있습니다. 질문, 보기 순서 뒤죽박죽 댓글을 적어주시면 수정 및 추가하겠습니다

[Security Word] - CVE-2010-1240를 활용한 스피어피싱 [내부링크]

시나리오 Windows7 을 사용하는 사용자는 부장님이 공유파일에 올린 pdf파일을 확인하였다. 하지만 pdf는 공격자가 조작하여 만든 파일이였고 사용자는 의도치 않게 개인정보, PC 정보등 다양한 정보들이 공격자에게 노출되었다. 준비물 : Adobe Reader v8.x, v9x, kali, windown7 Adobe Reader 취약한 버전 : http://ardownload.adobe.com/pub/adobe/reader/win/9.x/9.0/kor/AdbeRdr90_ko_KR.exe 실습환경 kali : 192.168.209.3 window 7 :192.168.209.6 공격 타겟 Adobe Reader v8.x, v9x / windows XP SP3 / Windows Vista / 7 (Adobe Reader 상위버전은 안되기 때문에 따로 하위버전을 다운받아야 합니다.) 모듈 exploit/windows/fileformat/.......

보안뉴스 - 가트너 기술 전략 트렌드 2021 [내부링크]

1. 사람 중심(PEOPLE CENTRICITY) : 팬데믹 사태가 사람들의 일하는 방식 그리고 조직과 상호작용하는 방식을 변화시켰을지라도 여전히 사람이 모든 기업의 중심입니다. 따라서 현재와 같은 환경에서 기업이 작동하기 위해선 프로세스가 필요합니다. - 행동인터넷 - 통합 경험 - 개인정보보호 강화 컴퓨팅 2. 위치 독립성(LOCATION INDEPENDECE) : 코로나19는 조직의 생태계에서 물리적인 공간을 사라지게 했습니다. 이러한 새로운 형태로 비즈니스가 유지되기 위해선 기술의 전환이 필요합니다. - 분산 클라우드 - 어디서나 운영 - 사이버 보안망 3. 회복 탄력성(RESILIENT DELIVERY) : 팬데믹이든 불경기든 전 세계에 불황은 언제나 존재해왔습.......

보안뉴스 - 연도별 침해사고 및 랜섬웨어 사건 [내부링크]

2021년 사이버 위협 전망 글로벌 전망 1. 표적형 공격 랜섬웨어의 확산과 피해규모 증가 - 공통 2. 고도화된 표적형 악성 이메일 - 호주 3. 코로나-19 사이버 공격 팬데믹 - 인도 4. 다크웹 유출 정보를 활용한 2차 공격 기승 - 한국 5. 기업을 낚는 사이버 스나이퍼 - 스리랑카 국내 사이버 위협 인텔리전스 전망 1. 표적 공격과 결합된 랜섬웨어의 위협 확대 - 공통 2. 거세진 DDoS, 금전까지 요구하는 공격 증가 - KISA 3. 사회기반시설 및 중요 인프라를 겨냥한 사이버 위협 범위 확대 - NSHC 4. 포스트 코로나 시대 비대면(언택트) 전환 후 보안 사각지대를 노린 사이버 위협 증가 - 빛스캔 5. 클라우드 서비스 목표한 공격 증가 - 안.......

[보안관제] - NMS ,SNMP, Syslog Protocol [내부링크]

NMS ㆍ 네트워크 장비 중 어떠한 장애가 발생했을 때 그 장애를 최대한 신속하게 인지하고 대응하기 위해 만들어진 시스템 ㆍ 수백, 수천대의 네트워크를 관리하기 위한 중앙 감시 체제 시스템 ㆍ 네트워크 운용관리 시스템 / 서비스 ㆍ 네트워크 환경에 연결된 장비 ,시스템에 대한 실시간 이벤트 내용을 수집하는 네트워크 서비스 NMS 5대 주요기능 (FCAPS - Fault Configuration Account Performance Security) 1. 장애관리 : 장애발생 시 관리자에게 신속하게 알리고 해결방안을 제시하는 기능 2. 구성관리 : 네트워크 통신망을 구성하고 있는 통신자원(예를 들어서 네트워크 관련 장비, 프로그램 등)에 대해서 물리적인 위치, 구성정보, 장.......

[보안관제] - WAF [내부링크]

위키 백과에 나와있는 WAF의 사전적 의미는 &#34;웹방화벽(Web Application Firewall, WAF) 은, 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션이다.&#34; 라고 적혀있습니다. 여기서 저희가 생각해봐야할 것은 몇가지가 존재한다고 생각합니다. 첫째, 보안기사 책이나 위키백과 등을 보면 웹 어플리케이션에 특화되어 있다고 하지만 어떤 기능면에서 특화되어 있는지 안적혀 있는 것을 알 수 있습니다. 그런 기능면에서 알아볼 필요가 있다고 생각합니다. 둘째, 고객들마다 다르겠지만 일반적으로 많이 사용되는 IPS, IDS, 방화벽, DDoS 대응 솔루션 등 각 솔루션들이 사용되는 위치가 있듯이.......

[Mobile Hacking] Drozer를 활용한 취약점 분석 - 액티비티 분석 [내부링크]

실습환경 : 인시큐어뱅크 앱 드로저의 장점 앱의 취약점을 자동분석하는 기능을 가지고 있다. [모듈] [옵션] run app.package.attacksurface -h &#34;-h&#34; 옵션은 모듈 설명페이지를 출력한다. 여기서 알 수 있는 점은 예시문을 통해 어떻게 사용하면 되는 지를 보여주고 있다. 위의 출력 부분에서 6~14 번째 줄을 보면 run app.package.attacksurface com.android.browser 를 볼 수 있다. 이는 run [모듈] [페키지명]을 하게 되면 11~14 번째 줄 까지 취약점이 발견되는 것을 확인할 수 있다. 6개의 액티비티, 4개의 브로드 캐스트 리시버, 1개의 콘텐츠 프로바이더의 취약점이 발견되는 것을 확인할 수 있다. run app.package.attacksurfa.......

[Mobile Hacking] Drozer를 활용한 취약점 분석 - 브로드캐스트 리시버 분석 [내부링크]

실습환경 : 인시큐어뱅크 안드로이드 디바이스에서 이벤트가 발생했을 경우 앱은 브로드캐스트 신호를 받으면서 시스템에서 일어나는 일들을 공유하게 된다.이러한 신호를 받기 위해 브로드캐스트가 정의되어 있어야 하며, 신호에 대응되는 액션또한 정의되어 있어야 한다. run app.braodcast.info -a [패키지명] run app.broadcast.info -f [특정단어] run app.broadcast.info -u -f [특정 단어] 숨어 있는 리시버가 없는 경우 Hidden Receivers 부분에 출력이 안 되는 것을 확인할 수 있다. run app.broadcast.info -u -f [특정 단어] 숨어 있는 리시버가 있는 경우 Hidden Receivers 부분에 출력이 되는 것을 확인할 수 있다.

[Mobile Hacking] Drozer를 활용한 취약점 분석 - 콘텐츠 프로바이더 분석 [내부링크]

실습환경 : 인시큐어뱅크 콘텐츠 프로바이더(content provider) 1. 애플리케이션이 사용하고 있는 데이터베이스를 공유하기 위해 사용된다. 2. 데이터베이스에 있는 정보를 URI로 공유한다. 3. 원하는 데이터만 공유하기 위한 수단이기도 하다. 4. &#34;run app.provider.info&#34; 모듈로 추출할 수 있다. &#34;run app.provider.info 사용법 및 옵션&#34; com.android.insecrebankv2 의 프로바이더 정보 run app.provider.info -a [패키지명] 콘텐츠 프로바이더는 데이터베이스를 URI를 통해 공유하기 때문에 URI에 대한 정보가 필요하다. 프로바이더가 사용하고 있는 URI 의 정보를 찾기 위해서는 &#34;app.provider.finduri&#34; 모듈.......

[Mobile Hacking] Drozer를 활용한 취약점 분석 - 서비스 분석 [내부링크]

실습환경 : 인시큐어뱅크 서비스 서비스는 백그라운드에서 실행되는 4대 컴포넌트 중 하나의 요소이다. 백그라운드에서 실행된다는 말은 사용자 간섭없이 보이지 않는 곳에서 실행중인 프로세스를 말한다. 예를 들어, 음악을 듣고 화면을 나가도 들을 수 있는 이유가 백그라운드에서 음악이 실행되고 있기 때문이다.. &#34;app.service.info&#34; 서비스에 대한 정보는 &#34;app.service.info&#34; 모듈에 정의되어 있다. run app.service.info run app.service.info -a [패키지명] run app.service.info -u -f [특정 단어] 특정 단어를 포함한 패키지를 출력함과 동시에 Hidden service 또한 출력하는 것을 볼 수 있다. run app.service.inf.......

[Network] ICMP 오류메시지 [내부링크]

가. Destination Unreachable - 이 메시지는 여러가지 문제를 나타낼 수 있다. 이 에러 메시지는 라우터가 원격 시스템으로 가는 경로를 찾지 못한 경우, 목적지 시스템의 특정 포트 번호가 현재 응답할 수 없는 경우, 그리고 기타 여러 가지 문제가 발생한 경우에 생성된다. 1. Network Unreachable - 이 에러 메시지는 이 오류를 보고하는 라우터의 라우팅 테이블에서 목적지 네트워크를 위한 경로를 찾지 못한 경우에 생성된다. 예) 사용자가 인터넷에서 라우팅될 수 없는 사설 주소에 연결하는 경우에 흔히 나타난다. 또한 오래되거나 손상된 라우팅 테이블을 가진 라우터에 데이터그램을 전송한 경우에도 나타난다 2. Host Unreachable - 이.......

네트워크보안 [내부링크]

21. 스위치 장비를 대상으로 행해지는 침해 행위가 아닌것은? ①ICMP Redirect ②Switch Jamming ③ARP Broadcast ④IP Spoofing 정답확인 : http://q.fran.kr/문제/10102/4 24. 리눅스 시스템에서 rlogin를 통합 접근을 허용하는 호스트를 설정하는 파일은? ①/etc/hosts.equiv ②/etc/allow ③/etc/hosts.allow ④/etc/rlogin.allow 정답확인 : http://q.fran.kr/문제/10105/1 .rhosts 파일 또는 /etc/hosts.equiv 파일에 호스트가 등록되어 있다. 28. 4000바이트의 ICMP 데이터를 포함한 TCP 패킷이 MTU가 1500인 네트워크를 통해 전송될 때 세번째 패킷의 크기는? ①헤더 40, ICMP 데이터 1048byte ②헤더 40, ICMP 데이터 1056byte ③헤더 2.......

[Mobile Hacking] Drozer 앱 패키지 정보 확인 명령어 [내부링크]

실습환경 : 인시큐어뱅크 앱 기준 취약점을 찾기위해서는 기본적인 정보들을 수집한 상태여야 한다. 기본적인 정보를 수집에는 디바이스에 설치 유 · 무, 패키지명, 앱의 권한 등이 있다. 우선 가장 기본적으로 우리는 디바이스 화면에 표현되는 앱명과 패키지명이 다르므로 앱의 패키지명을 확인해야 한다. run app.package.list 앞에서 app.package.list 를 통해 패키지명을 알았지만 이는 모든 패키지명을 출력하기 때문에 내가 원하는 패키지명을 쉽게 찾지 못할 수 있다. 좀 더 빠르게 원활히 패키지명을 찾기위해 필터링 옵션을 사용할 필요가 있다. run app.package.list -f[특정단어] &#34;f&#34; 옵션은 특정 단어가 들어간 패키지 정.......

[공부 · 세미나] 보안공부 참고 서적, 모의해킹사이트, 공부방법 [내부링크]

출처 : https://blog.naver.com/93immm/220151646795 문제가 될 시 바로삭제 하겠습니다. &#60; 리버싱 &#62; 1. 리버싱 핵심원리 이 책은 2012년에 나온 책인데 리버싱 분야에 혁명같은 존재로 등장했습니다. 거의 수학에 수학의정석같은 책입니다... 이 책 저자가 &#34;리버스코어&#34;라는 블로그를 운영했었는데... 책 내고 초심을 잃으신건지 블로그 운영을 안하십니다ㅋㅋㅋ 어쨋든 리버싱 핵심원리를 통해서 기본명령어와 올리디버거 사용법 PE파일 포맷과 패커 등등을 공부합니다. 처음부터 끝까지 공부하면 지루하고 이해도 안되기때문에 DLL인젝션 전까지만 확실하게 하시고 그 뒤 부터는 나중에 보셔도됩니다. . 2. simples.kr 여기가.......

[면접 질문] 안랩 채용 연계(파견관제) - CC Attack 설명하시오. [내부링크]

면접관님들 께서 CC Attack에 대해 물어보셨지만, 면접자들 다 답변을 못했습니다. 답변을 했다 가정하에 예상질문을 작성했습니다. 이 외에, 틀린 점 및 추가할 점 수정할 점 있으면 적어주세요. CC Attack 에 대해 설명하시오(면접질문) CC Attack 이란 Cashed-Control attack의 약자로, User-Agent에 Cashed-Control 기능자를 추가하여 패킷을 전송하고 캐싱을 하지 못하도록 하는 Dos 공격입니다. no-store 또는 must-revalidate 기능자를 사용하여 캐시기능 사용하지 못하게 하거나, 캐시재검증을 요청하여 서버에 부하를 일으킬 수 있습니다. -&#62; DoS, DDoS 에대해 설명하시오(예상질문) DoS 란, 서비스 거부 공격으로 시스템이나 네트워.......

[Network] - Ping of Death(죽음의 핑) [내부링크]

Ping Of Death 는 최대 IP 패킷 사이즈보다 크게 보내어 서비스 거부 공격을 일으키는 서비스 거부 공격을 말합니다. Attacker : 192.168.115.130 (Kali) Victim : 192.168.115.131(Metasploitable) 공격목적 : 패킷 사이즈를 크게, 무수히 보내어 서비스를 과부하 및 거부하도록 하는 것. --icmp : 전송할 패킷 유형(Protocol) --rand-source : ip를 랜덤하게 보냄( 공격자 ip를 숨길 수 있다.) - 192.168.115.131 : Target ip -d 65495 : -d [보낼 데이터 크기] --flood : 패킷 전송을 빠르게 보낸다. Metasploit 에서 tcpdump를 이용한 패킷 분석 파란색 : 랜덤한 ip 빨간색 : 희생자 ip, Metasploitable Wireshark 를 통해서 확인을 해보면 무.......

[Network] - TCP Syn Flooding [내부링크]

· TCP 연결 설정 과정 중에 3-Way Handshaking 과정에서 Half-Open 연결 시도가 가능하다는 취약점을 이용한 공격 · 공격을 받은 시스템은 외부로부터 접속 요청을 더 이상 받아들일 수가 없게 되어 정상적인 서비스를 제공할 수 없게 된다. Attacker : 192.168.115.130 (kali) Victim : 192.168.115.131(MetaSploitable) -S : Syn flag으로 설정 -a 192.168.115.130 : Source IP 설정 (Syn을 보내는 PC 또한 과부하 걸릴 수 있으므로 Source IP를 보내야 한다.) 192.168.115.131 : target IP -p 80 : 80port 지정 --flood : 패킷 전송을 빠르게 보냄 Wireshark를 통해 확인 해보면 80port로 Syn flag를 무수히 보낸 것을 확인할 수 있다. 대응방.......

[Network] - ARP Spoofing [내부링크]

ARP Spoofing ARP Spoofing이란 로컬 랜(2계층- 2 Layer)상 에서의 MAC Address를 통해 이뤄지는 통신을 이용하여 패킷 경로를 조작하는 공격을 말합니다. 평소의 경우 User는 다른 User2에게 통신을 하지만, Attacker가 ARP Cache 정보를 조작하여 User2에 보내야 할 패킷들을 Attacker에게 보내도록 하는 속이는 공격입니다. 중간자 공격 기법(MITM) 중 하나 입니다. MITM MITM(Man In The Middle Attack) 이란 네트워크 통신을 조작 및 도청을 하는 공격 기법입니다. 즉, 네트워크 사이에서 중간자가 침입을 합니다. 한 네트워크는 정상적으로 다른 네트워크에게 전송하는 줄 알지만, 실제로는 Attacker에게 패킷을 전달하고 있는 것입니다. 그.......

[Mobile Hacking] 인시큐어뱅크 가상 금융 앱 [내부링크]

인시큐어뱅크란 ? 모바일뱅킹 취약점 진단을 위한 테스트 용도로 제작된 애플리케이션을 말한다. 안드로이드 모바일 개발자 및 보안 관리자를 위해 만들어졋으며, 백엔드 서버는 파이썬으로 제작되었다. 인시큐어뱅크 다운로드 페이지 - 공식홈페이지 https://github.com/dineshshetty/Android-InsecureBankv2 InsecureBank v2 취약점 리스트 금융권 점검 체크리스트 및 가이드 스마트폰 전자 금융 서비스 보안 가이드 스마트폰 안전 대책 자체 점검 스마트폰 전자 금융 앱 위·변조 방지 대책 스마트폰 금융 안전 대책 이행 실태 점검 결과 공공 기관 및 다른 기관 체크리스트 및 가이드 모바일 앱 소스 코드 검증 가이드라인 모바일 대민 서비스.......

[Mobile Hacking] 취약점 진단 및 분석 도구 - ADB 사용방법 [내부링크]

ADB(Android Debug Bridge) 안드로이드 에뮬레이터나 PC에 실제 연결된 장치를 제어하기 위한 안드로이드 디버깅 도구를 말한다. ※에뮬레이터 컴퓨터 과학용어로서의 &#x27;에뮬레이터&#x27;는 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기를 가리키는 말. 다시 말해서, 에뮬레이터는 하드웨어 기반일 수도, 소프트웨어 기반일 수도 있다. 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위하는 목적으로 널리 쓰인다. ADB 설치 위치 ADB는 Android SK Platform-tool에 포함되어 있다. 즉, Android/Sdk/platform-tools 에 존재한다. ※SDK 설치 폴더의 경로를 모를경우 안드로이드 스튜디오 실행 -&#62; 상단 &#34;Too.......

[Mobile Hacking] ADB - 디바이스 장치 선택방법 및 명령어 [내부링크]

ADB 명령어를 안드로이드 에뮬레이터/ 장치에 적용하기 위해서는 대상 안드로이드 장치를 선택해야한다. 안드로이드 장치가 2대 이상 연결되어 있는 경우 &#60;&#34;error: more than one device and emulator&#34; &#62; 안드로이드 연결된 장치목록 확인 &#60;adb devices&#62; USB 장치가 연결된 경우의 ADB 사용 &#60;adb -d &#60;명령어&#62;&#62; 하나의 에뮬레이터가 연결된 경우 &#60;adb -e &#60;명령어&#62;&#62; 2개의 에뮬레이터가 연결된 경우의 에러메시지 &#60;&#34;error: more than one emulator&#34;&#62; 같은 타입의 장치가 연결된 경우 원하는 장치에 ADB 명령어 수행하여 적용 &#60;adb -s &#60;장치명&#62; &#60;명령어&#62;&#62;

[Mobile Hacking] 취약점 진단 및 분석 도구 - 드로저(Drozer) [내부링크]

드로저(Drozer) 드로저는 가상 디바이스, 실제 안드로이드용 취약점 진단 도구이다. 안드로이드 가상 디바이스 또는 단말기에서 Drozer 에이전트를 설치한 후 호스트에서 ADB로 명령얼 내리는 서버와 클라이언트 방식으로 동작한다. 드로저(Drozer) 설치 드로저는 파이썬 버전 2.7.* 버전이어야 드로저를 실행할 수 있다. 드로저(Drozer)는 https://labs.f-secure.com/tools/drozer/ 에서 설치할 수 있다. 1. 해당 경로에서 하단으로 조금 내려서 drozer(Agent_apk only), drozer(windows Installer)를 설치해주면 된다. 2. 다운로드 받은 경로를 통해 안드로이드에 설치 해주면된다 3. 안드로이드가 설치가 된 것을 확인할 수 있고, off -&#62; o.......

[Secure-Coding] JSPL을 이용한 악의적인 스크립트 차단 [내부링크]

환경 : WebGoat 5.4 상황 :https://blog.naver.com/ster098/222039401331 해당 문제를 푼 후 해당 문제 시큐어 코딩 입력정보를 필터링없이 화면에 출력하는 것이 취약점은 JSTL 표현식을 사용하여 XSS 관련 스크립트 실행을 차단할 있다. JSP, EL, JSTL 마다 출력 값을 검증 하기 위해 소스코드를 작성해주고 결과값 확인 해당 경로로 가서 스크립트 구문을 입력하여 각 표현식 마다 비교해보았다.(JSP,EL,JSPL) JSP 를 이용한 출력 값의 결과 스크립트가 실행되고 경고창이 뜨는 것을 확인할 수 있다. EL 를 이용한 출력 값의 결과 스크립트가 실행되고 경고창이 뜨는 것을 확인할 수 있다. JSPL 를 이용한 출력 값의 결과 경고창이 안 뜨고 문.......

[Secure-Coding] CRLF Injection Secure Coding [내부링크]

CRLF Injection 이란 ? Carriage Return 과 Line Feed를 의미한다. HTTP Request에 있는 파라미터가 HTTP Responses의 응답헤더로 다시 전달 되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed, %0A) 개행문자가 존재하면 HTTP 응답이 분리 될 수 있다. HTTP 응답 분할(HTTP Response Splitting)공격은 이러한 취약점을 통해 응답 메시지에 악의적인 코들르 주입함으로서 xss 및 캐시를 훼손하는 취약점이다. 공격방식 HTTP 프로토콜은 헤더와 바디 영역으로 나뉜다. 헤더는 서버와 클라이언트 사이에서 일반 문서 데이터 이외의 추가적인 정보를 교환할 수 있도록 첫 번째에 삽입되는 영역이다. 바디는 실제 데이터가.......

[Vulnerability] - Path Traversal & File Inclusion [내부링크]

Path Traversal 이란? 디렉터리 접근경로(../../)를 삽입하여 시스템 파일 혹은 소스코드에 접근하는 행위를 말한다. File Inclusion 이란? 파일 다운로드 취약점과 유사하게 디렉터리 접근 패턴을 이용하여 시스템파일에 접근함을 의미한다. 1) 점검대상 : http://php.testsparker.com 2) 접근순서 : 가. Arachni 를 통한 Path Traversal 취약점 확인 나. Arachni 를 통한 File Inclusion 취약점 확인 다. Arachni에서 나온 취약점을 해당 사이트에 점검 및 그 외 취약점 여부 확인 가 . Arachni 를 통한 취약점 확인 1. Path Traversal 취약점 개수 : 1 2. file &#x3D; /..windows/win.ini%00.nsp 해당 사이트는 요청되는 파일의 확장자를 .nsp.......

[WebGoat5.4] - Path Traversal [내부링크]

Path Traversal 이란 ? 디렉터리 접근경로(../../)를 삽입하여 시스템 파일 혹은 소스코드에 접근하는 행위를 말한다. 1)접근경로 : WebGoat5.4/Access Control Flaws/Bypass a Path Based Access Control Scheme 2)접근순서 : 가. 문제 확인 나. 해당 문제를 Burp Suite 프록시 툴 을 통해 패킷 확인 다. 디렉터리 상위 경로 삽입 가. 문제 확인 &#x27;guest&#x27;사용자는 lesson_plans / English 디렉토리의 모든 파일에 액세스 할 수 있습니다. 액세스 제어 메커니즘을 해제하고 나열된 디렉토리에없는 자원에 액세스하십시오. 볼 파일을 선택한 후 WebGoat는 파일에 대한 액세스 권한이 부여되었는지보고합니다. 시도하고 얻는 흥미로운 파.......

[일기 ㆍ공부계획] 안랩 채용형연계 파견관제 면접후기 [내부링크]

~7.22 까지 받는 안랩[신입] 2020 하반기 채용연계형 인턴공채에 파견관제를 지원했습니다. 기술건설팅이 목표이지만 비전공에다가 보안과 관련된 스펙이 없기에 경재률이 낮을 것 같은 파견관제를 지원하게 되었습니다. 처음 자기소개서, 포트폴리오 등을 준비해서 시간을 많이 투자할 필요가 있었습니다. 자기소개서를 작성해보고 주위 사람들에게 피드백을 부탁해보면서 준비했던 것 같습니다. 남들과 달리 보안에대한 프로젝트, 대회성적은 없지만 다양한 교육을 토대로 자기소개서를 작성했습니다. (K-Shield Jr, 정보보호제품군(초급), 일방향 침해사고 대응, 웹해킹과 시큐어코딩, 기반시설과 네트워크보안 ) 이 외에도 지금 운영하고 있.......

[면접 질문] 안랩 채용형 연계 파견관제 질문 [내부링크]

1 차 기술면접 질문리스트 [전체 면접자에게 물어봄] 1. 자기소개 및 지원동기 말하시오. (2분) 2. 자기가 최근에 관심있어 하는 트렌드 및 기술을 설명하시오. 3. OWASP 10중 자신이 알고 있는 것을 한 가지 설명하시오. (앞 사람이 설명한 것을 한번 더 해도 상관이 없다. ex. 앞 사람이 Injection에 대해 말했어도 자신이 한번 더 말해도 된다.) [전체 면접자에게 질문을 하되, 아는 사람이 먼저 손들고 답변하는 방식, 앞 사람이 답변을 해도 추가적으로 답변을 할 수 있다.] 4. CC공격에 대해 아는 사람은 손들고 말하시오. 5. ARP Spoofing에 대해 아는 사람은 손들고 말하시오. [개인질문 - 각 자 마다 다름. ] 6. 프로젝트에 대해설명 및.......

[면접 질문] 안랩 채용 연계(파견관제) - OWASP 중 한 가지 설명 [내부링크]

질문 : OWASP 10에서 한 가지를 설명하시오.(실제 질문) - 필자의 경우 XSS로 답변함 -&#62; 크로스 사이트 스크립팅(XSS) 이란 공격자가 악의적인 스크립트를 웹 사이트에 삽입할 수 있는 취약점 입니다. 크로스 사이트 스크립팅(XSS)은 크게 Reflected XSS, Stored XSS 공격 방법이 있습니다. -&#62; Reflected XSS란 공격자가 URL에 악의적인 스크립트를 삽입하여 사용자에게 클릭을 유도하여 쿠키 및 세션을 탈취를 하는 공격을 말하며, -&#62; Stored XSS란 공격자가 게시판 같은 곳에 악의적인 스크립트를 작성하면 서버에 저장이 됩니다.이 후 사용자가 악의적인 스크립트가 저장되어 있는 페이지에 요청을 하게되면 공격자의 악의적인 스크.......

[Vulnerability] - OS command Injection 취약점 분석 [내부링크]

Injection 취약점은 OWASP TOP10 중 A1으로 분류되어 있는 취약점입니다.그 중 Injection 취약점은 SQL, OS, XXE(Xml eXternal Entity), LDAP 의 취약점이 있습니다.http://testsparker.com에서 발견된 취약점 중 Operating system command injection (timing attack) 부분에 대해 분석 해보았습니다.Operation system command injection(OS command injection)이란 사용자 입력 값을 받는 페이지에 OS 명령어가 실행되어 시스템 내 중요 정보 획득 및 중요 디렉터리 접근이 가능한 취약점 입니다.ex)shell.exec, eval, system 함수 등..해당 경로(http://php.testsparker.com/nslookup.php)에서 삽입된 공격패턴 및 위약점 탐지근거를 확인해.......

[Secure-Coding] - FindBugs [내부링크]

참고 : KISA 공개 SW 진단가이드FindBugsFindBugs란?자바 바이트 코드를 분석하여 버그 패턴을 발견하는 정적분석 공개 소프트웨어이다.Java 프로그램에서 발생 가능한 100여개의 잠재적인 에러에 대해 scariest, scary, troubling, concern의 4등급으로 구분하여 탐지하고 결과를 XML로 저장할 수 있도록 지원한다.지원환경Linux, Windows, MacOS 운영체제를 지원GUI기반의 단독실행 응용프로그램 방식Enclipse, NetBeans, IntelliJ IDEA, Gradle, Hudson and Jenkins에 대한 플러그인 방식 지원탐지유형아래와 같이 9개 이상의 카테고리와 400개가 넘는 규칙이 등록되어 있다.룰셋의 커스터마이징이 간ㅇ하며 기업 마다 원하는 현태로 만들.......

[Secure-Coding] SQL Injection에 취약한 코드,시큐어코딩(코드수정), Statement 와 Preparedstatement [내부링크]

실습환경Eclipse - FindBugs(정적분석 공개소프트웨어)를 활용한 Webgoat5.4에서의 취약한 코드 분석참고https://cocodo.tistory.com/11http://blog.naver.com/PostView.nhn?blogId&#x3D;silver889&#38;logNo&#x3D;70173262568&#38;parentCategoryNo&#x3D;&#38;categoryNo&#x3D;14&#38;viewDate&#x3D;&#38;isShowPopularPosts&#x3D;true&#38;from&#x3D;searchKISA SW진단가이드Injection Flaws - String SQL Injection에서 싱글쿼터를 이용하여 로그인이 가능한 것을 알 수있다.Findbugs 를 이용하여 분석을 해보면 Troubling - High confidence - Nonconstant string passed to execute or addBatch on an SQL statement를 확인할 수 있다........

[Vulnerability] - SQL Injection/Union/Unionall [내부링크]

1)점검대상 : http://testphp.vulnweb.com2)접근순서 : 가. Arachni 를 통한 취약점 확인 나. Arachni에서 나온 취약점을 해당 사이트에 점검 다. sqlmap을 통한 데이터베이스 접근가. Arachni를 통한 취약점 확인 1. 발견된 SQL Injection 취약점 개수 : 6 2. Proof : &#34;MySQL server version for the right syntax to use&#34; 구문오류를 나타내는 오류메시지(취약점이 존재함을 알 수 있다.)나. Arachni에서 나온 취약점을 해당 사이트에 점검 1. http://testphp.vulnweb.com/listproducts.php?cat&#x3D;1 을 통한 카테고리 출력 ( cat &#x3D; 1(Poster) 2(Paintings)) 2. &#x27; (콤마)를 넣어 취약점이 있는지 점검 http://testphp........

[Vulnerability] - Blind Injection 취약점 [내부링크]

논리적 에러기반 및 Union 기법은 에러가 발생되는 사이트에서만 가능 -&#62; 에러가 발생하지 않는 다면?&#x3D;&#62; Blind 를 통한 증명Blind (보이지 않는) + Injection (삽입) &#x3D; 보이지 않는 삽입오류메시지가 보이지 않는 사이트에서 SQL 쿼리의 참/거짓 동작만으로 DB 구조를 파악하는 공격기법이다.1)점검대상 : http://testaspnet.vulnweb.com/2)접근순서 : 가. Arachni 를 통한 취약점 확인나. Arachni에서 나온 취약점을 해당 사이트에 점검 및 그 외 취약점 여부 확인다. sqlmap을 통한 데이터베이스 접근가. Arachni 를 통한 취약점 확인 1. Blind Injection 취약점 개수 : 2 2. id&#x3D;0;waitfor delay &#x27;0:0:16&#x27;-.......

[WebGoat 5.4] - Stored XSS [내부링크]

Cross-Site Scripting(XSS) 크로스사이트 스크립팅가장 널리 알려진 웹 애플리케이션 보안 결함으로 애플리케이션이 신뢰할 수 없는 데이터를 검증하지 않고 웹브라우저의 페이지에 전송할 경우 발생할 수 있다.악의적인 사용자는 XSS 취약점이 있는 사이트에 악의적인 스크립트 코드를 삽입해서 게시물을 게시하거나 메일 전송하여 일반 사용자가 해당 코드를 실행하게 만들수 있다.신뢰할 수 없는 데이터란?클라이언트에서 전송되는 모든 데이터라고 볼 수 있다.폼필드 값GET 쿼리 파라미터 값쿠키 내용HTTP 헤더Stored XSS Attacks사용자가 입력한 데이터가 어플리케이션 내에 저장되어서 필터링되거나 불안전한 문자를 안전한 상태로 만.......

[보안관제] - 정보보호 시스템 [내부링크]

사이버 침해로부터 정보 자산을 보호하기 위해 도입한 정보보호 시스템이 보안관제 대상이며 보안솔루션이다.보안관제느 솔루션은 크게 Network Base 솔루션과 Host Base 솔루션이 존재한다.정보보호 관련하여 유형을 아래와 같이 구분하고 있다. (출처: kisa)정보보호 시스템은 보호 대상 및 목적에 따라 다양한 종류로 나뉘며, 보안관제를 수행함에 있어 정보보호시스템의 기능과 역할을 이해하는것이 중요하다. 아래 내용은 정보보호시스템을 구분화한 정리내용이다.

[보안관제] - 통합 보안관제 시스템 [내부링크]

통합 보안관제 시스템· 보안관제 시스템에는 각종 보안 솔루션과 각종 보안 솔루션을 통합해서 관리하는 통합 보안관제 시스템이 있다.· 사이버 침입 및 탐지하고 대응하기 위해 많은 솔루션이 필요로 한다. 많은 솔루션이 필요한 만큼 관리하기가 쉽지 않기 때문에, 이를 통합 관리하기 위해 통합 보안관제 시스템이 필요하다.· 통합 보안관제 시스템은 ESM과 SIEM이 있다.ESM(Enterprise Secuirty Management)· 기능별, 제품별로 모듈화 된 보안관리 기능을 통합하여 일관되고 직관적인 관리자 및 사용자 인퍼에시를 제공한다. · 효율적이고 정책지향성의 체계적인 보안관리 시스템을 구축하여, 표준 정책 기반하에서 모든 시스템의 통합 보.......

[보안관제] - 보안 솔루션 구성, In-Line, Mirror, Proxy [내부링크]

보안 솔루션 구성 형태· 보안 솔루션이 실시간 탐지를 위해서는 패킷이 보안 솔루션으로 보내야한다.· 패킷을 보내는 방법은 3가지로 구성된다.1. In-line 구성2. Mirror 구성3. KISA-CO-MSS-Proxy 구성In-Line 모드· 장비와 장비사이에 보안 솔루션을 넣는 방법을 말한다.(예를들어, 라우터와 스위치사이에 보안솔루션을 넣어 구성)· Route mode와 Bridege mode가 있다.· 대상장비로 대표적으로 방화벽, IPS, 유해사이트 차단 등이 있다.· 인라인 방식은 주로 강력한 Session 차단을 위해 사용된다.· 구성 방식에서 볼 수 있듯이 모든 Traffic이 In-Line 상에 존재하는 장비로 거쳐갈 수 밖에 없게 되어 있기 때문에 탐지와 차단 정책까지 가.......

[Network] - OSI 7 계층 [내부링크]

OSI 7 계층 이란?· OSI 7 계층은 어떻게 응용 프로그램이 네트워크를 통하여 통신 할 수 있는 방법에 대한 참조모델이다.· 상호 다른 네트워크 간의 연결에 어려움이 많기에 이러한 호환성의 결여를 막기 위해 ISO (국제 표준화 기구) 에서는 OSI를 참조 모델로 제시하였다.OSI 7 계층이 필요한 이유· 시대가 지나 덜 중요하게 생각할 수도 있지만 필자에 입장에서는 아직까지 매우 중요하다고 생각한다. 왜냐하면 네트워크 통신이 일어나는 과정에서 연결이 끊겼을 때 단계적으로 파악할 수 있기 때문이다. 처음부터 생각해보면 물리적으로 랜선이 문제일수도 있고, 네트워크가 문제 등 다방면으로 문제가 발생하면 그에 대한 문제해결 방법도 다.......

[일기 ㆍ공부계획] KISA 교육 - 정보보호 제품군 실습훈련(초급)과정 수료 후기(실전형 사이버훈련장) [내부링크]

실전형 사이버보안 전문인력 양성 과정중 하나인 정보보호 제품군 실습훈련(초급)과정을 수료하고 왔습니다.교육환경저는 6월10일 ~ 6월12일 까지 하는 3일과정을 신청했습니다. 강의 훈련장은 판교의 기업지원허브 5층 사이버훈련장에서 진행되었습니다. 1인당 훈련용 데스크탑과 간식, 그리고 점심밥 값(교내식당)지원, 교재가 지원이 되며, 훈련용서버를 이용하여 진행되었습니다.교육대상이 교육과정은 다른 교육과정이랑 달리, 교육대상이 구직자, 공공 민간 신규직원 중심의 국내 보안 담당자 등 학생도 신청할 수 있는 교육입니다. 솔루션에 대한 교육이라서 그런지 군관계자 분들이 많이 들으러 오셨습니다.커리큘럼 및 느낀점커리.......

[PHP] - 서버,브라우저,PHP프로그램을 통한 PHP의 동작원리 [내부링크]

Browser가 확장자 .html 파일을 서버에게 요청을 하면 Server는 확장자가 .html이라는 것을 보고 자신이 처리할 수 있어 요청하는 .html파일을 브라우저에게 전송하게 되고, 브라우저는 그 코드내용을 해석하게 되여 화면에 표시하게 된다.하지만 만약 Browser가 .html 파일이 아닌 Server가 처리할 수 없는 내용을 요청을 하게되면 어떻게 될 것인가가 이 글의 포인트다.왼쪽이 브라우저이고, 오른쪽이 서버라고 생각하면 된다.위와 같이 브라우저가 서버에게 .php 파일을 요청하지만 서버는 확장자가 .php인 것을 보고 자신이 처리 할 수 없다는 것을 알고 있습니다. 그래서 자신의 일이 아닌 것을 안 서버는 PHP프로그램에게 역할을 위임을.......

[DataBase, DB] - PHP와 Mysql의 동작원리 [내부링크]

Browser가 확장자 .html 파일을 서버에게 요청을 하면 Server는 확장자가 .html이라는 것을 보고 자신이 처리할 수 있어 요청하는 .html파일을 브라우저에게 전송하게 되고, 브라우저는 그 코드내용을 해석하게 되여 화면에 표시하게 된다.하지만 만약 Browser가 .html 파일이 아닌 Server가 처리할 수 없는 내용을 요청을 하게되면 어떻게 될 것인가가 이 글의 포인트다.왼쪽이 브라우저이고, 오른쪽이 서버라고 생각하면 된다.위와 같이 브라우저가 서버에게 .php 파일을 요청하지만 서버는 확장자가 .php인 것을 보고 자신이 처리 할 수 없다는 것을 알고 있다. 그래서 자신의 일이 아닌 것을 안 서버는 PHP프로그램에게 역할을 위임을 하게.......

[DataBase, DB] - Mysql 접속, 데이터베이스 생성, 사용할 데이터베이스 변경, 테이블 생성 [내부링크]

콘솔 창에서 Mysql에 접속하는 방법은 다음과 같다.기본 접속 방법주의 : &#34;-p{비밀번호}&#34;에는 공백이 없다. 비밀번호가 1234라면 &#34;-p1234&#34;라고 입력해야 한다.그밖에 접속 방법주의 : 여기서 &#34;p&#34;는 비밀번호를 입력하겠다는 의미이다. 예를들어 mysql -u root -p -h localhost 로 명령어를 입력하게되면, 패스워드를 입력하는 칸이 생기게 되고, root 사용자로 localhost(127.0.0.1)에 접속하겠다는 의미이다. Mysql에 접속을 한 후 데이터베이스 생성방법은 다음과 같다.그 후, 내가 생성한 데이터베이스가 성공적으로 생성이 되었는지 확인할 필요가 있다.opentutorials 데이터베이스를 사용하기 위해 U.......

[Vulnerability] - arachni 툴 설치 방법 [내부링크]

1. 다음 경로에 이동을 해줍니다.https://www.arachni-scanner.com/download/2. 자신의 OS에 맞게 설치해줍니다.3. 다운로드 받은 파일을 파일을 보시면 bin 디렉터리로 들어가줍니다.4. 그 안에 arachini_web_bat 을 확인할 수 있을 것입니다. arachini_web_bat을 실행을 해줍니다.만약 실행이 안될 시, cmd를 실행시킨 후 해당 경로에서 직접 실행시키면 됩니다.5. * Listening on tcp://localhost:9292 가 출력되는 것을 확인할 수 있습니다. 이는 로컬 PC환경에 arachini 서버가 실행되었음을 의미합니다.6. 브라우저 주소 창에 localhost:9292 를 입력하면 arachini 스캔을 하기 위한 로그인 창이 뜨게됩니다.7. 다시, 설치 폴더에 가서 REA.......

[Vulnerability] - Arachni 및 Sqlmap 툴 설치 및 활용법 [내부링크]

Arachni 활용법1. localhost:9292 에 접속한 후 상단 바의 Scans를 클릭 후 New 버튼을 누르면 해당 페이지로 이동할 수 있습니다.2. 해당 페이지는 arachni 스캔을 위한 사용자가 입력해야하는 항목이다. GO를 하면 공격이 수행이 됩니다.Target URL : 공격을 수행할 URL 주소Configuration Profile : 공격 수행 기준(Default, XSS, SQL Injection 중 선택)Desription : 스캔에 대한 설명Share with : 스캔 결과를 공유할 사용자3. 스캔의 결과가 끝나면 대시보드에 수행한 시간 공격 페이로드수 등 총 8가지를 확인할 수 있으며,대상 사이트의 취약점 정보를 확인할 수 있습니다.4. 탐지된 취약점 정보를 클릭하면 ?박스를 확인할 수 있는데.......

[Vulnerability] - sqlmap을 이용한 취약점 분석 [내부링크]

Arachni 를 이용해서 http://php.testparker.com 를 타겟으로 스캔을 돌려보았습니다.OWASP에서 제시하는 심각도 3단계는 전체를 0~9로 가정했을 때 6~9를 상(High), 3~5를 중(Medium), 0~2를 하(Low)로 분류한다. 그 중 High 에 속하는 Blind SQL Injection 에 대해 분석을 해보았습니다.해당 취약점 항목을 클릭하여 상세 설명 및 경로를 확인해보면 해당 변수에 -1839%27%20or%20%271%27%3D%272 을 값을 넣고 요청을 했을 경우 Response로 응답코드로 200을 보아 정상적으로 처리했음을 알 수 있습니다. 그리고 해당 값은 디코딩 해보면 -1839&#x27; or &#x27;1&#x27;&#x3D;&#x27;2 인 것을 false or false 또는 true or false 임을 알 수 있.......

[Network] - LAN, WAN, Ethernet(이더넷), CSMA/CD [내부링크]

LAN(Local Area Network) ?· 어느 한정된 공간에서 네트워크를 구성한다.WAN(Wide Area Network) ?· 멀리 떨어진 지역을 서로 연결하는 경우에 사용된다. Ethernet(이더넷) ?· 네트워킹의 한 방식· 네트워크를 만드는 방법 중 하나로 생각· CSMA/CD 라는 프로토콜을 사용해서 통신한다.CSMA/CD ? · Carrier Sense Multiple Access / Collision Detection 의 약자이다.· Carrier Sense - 우리 네트워크 자원을 쓰고 있는 PC나 서버가 있는지를 확인해보는 것이다. - 캐리어(네트워크 상에 나타나는 신호) 가 있는지를 감시한다.· Multiple Access - 캐리어가 감지되면( 누군가가 네트워크상에서 통신을 하고 있는 상태) 자기가 보낼 정보가.......

[Network] - TokenRing [내부링크]

토큰링(TokenRing)?· 네트워크 상에서 오직 토큰을 가진 PC만이 네트워크에 데이터를 실어서 보낼 수 있다. 데이터를 다 보내고 나면 다음 PC에게 토큰을 넘겨주게 된다. 이 처럼 하나 씩 토큰을 가진 PC만이 데이터를 보낼 수 있으므로 충돌이 당연히 발생하는 일이 없다. 하지만, 만약 내가 지금 바로 보내야 되는 데이터가 있고, 데이터를 보낼 것이 없는 PC에서도 토큰을 거쳐서 가야되기 때문에 토큰이 올 때까지 기다려야 한다는 단점이 있다. 정리해보면 다음과 같다.· 충돌이 발생하지 않는다.· 실어서 보낼 데이터가 없어도 토큰이 옆으로 전달되어 올 때까지 기다려야 한다.토큰링과 이더넷의 차이점

[Network] - MAC Address [내부링크]

맥 어드레스(MAC Address) ?· Media Access Control 의 준말· 서로를 구분하기 위한 일종의 주소를 말한다.IP로 통신을 하는 것이 아닌가 ?· 인터넷은 TCP/IP로 통신을 하고 통신을 하기위해 IP주소를 사용한다.· 하지만 IP 주소만 가지고 통신을 하는 것은 아니다. IP 주소를 다시 MAC으로 바꾸는 절차(ARP : Address Resolution Protocol) 과정을 거치게 된다.내 PC 맥 어드레스(MAC Address)는 어디서 찾는가 ? · [윈도우 + r] - &#62; cmd -&#62; ipconfig/all· 물리적 주소, 하드웨어 주소가 맥 어드레스이다.맥 어드레스(MAC Address)에 대해 자세히 알아보자!· 48Bit &#x3D; 6옥텟의 주소를 가지고 있다.· 랜카드 또는 네트워크 장비.......

[Network] - 유니캐스트, 브로드캐스트, 멀티캐스트 [내부링크]

들어가기 앞써..네트워크에서는 통신하는 방법에 따라 3가지로 나뉜다.· 유니캐스트· 브로드캐스트· 멀티캐스트유니캐스트(Unicast) · 통신을 하기위해서 프레임안에 항상 맥 어드레스가 들어 있어야 하는데, 이때 도착지 주소, 출발지 주소를 적어 통신하는 방법이다. 이 처럼 유니케스트 프레임을 뿌리게 되면 로컬 이더넷의 기본 성격이 붙어있는 모든 pc들에게 정보를 뿌리는 shared 방식이기 때문에 그 로컬 네트워크 상에 있는 모든 pc들은 일단 프레임을 받아 들여서 자신의 맥 어드레스와 비교를 하고, 다를 경우 그 프레임을 버리게 된다. 이렇게 되면 pc의 CPU까지 영향을 끼치지 않아 pc의 성능에 영향을 끼치지 않게 된다. 만약 맥.......

[Network] - IP, NAT, NIC(Network Information Center) [내부링크]

NAT의 등장· 인터넷을 사용하기 위해선 자신만의 유일한 IP주소가 필요하지만, 이러한 공인 IP주소가 부족하여 여러가지 비공인 주소를 사용할 수 있는 기술들이 개발되었다. NAT또한 이 기술의 한 가지이다.NAT ?· Network Address Translation 의 약자· 내부 네트워크에서는 공인되지 않은 IP주소를 사용하고, 인터넷으로 나갈 때만 공인 주소(유일한 IP주소)를 가지고 나가는 방식을 말한다.· 이렇게 공인된 IP 주소를 관리하고 나눠주는 기관을 NIC(Network Information Center)라고 말한다.IP주소는 몇 개인가? 왜 부족한 것인가 ?· IP주소는 2의 32승 만큼의 수를 가지고 있다. ( 2^32 &#x3D; 4,294,967,296) 약 43억개, 숫자로 볼 때.......

[Network] - 브리지(Bridge), 스위치(Switch) [내부링크]

브리지(Bridge)와 스위치(Switch)의 기능· Learning· Flooding · Forwarding· Filtering· AgingLearning· 브리지나 스위치는 자신의 포트에 연결된 PC가 통신을 위해 프레임을 보내게 되면 , 이 PC의 맥 어드레스를 읽어서 자신의 맥 어드레스 테이블(브리지 테이블)에 저장을 한다. · 다른 PC가 통신을 할 경우에는 자신의 브리지 테이블을 참고해서 브리지를 건너가게 할 것인지, 못 건너가게 할 것인지 결정하게 된다.Flooding· 들어온 포트를 제외한 나머지를 모든 포트로 뿌리는 것을 의미한다.· Learning에서 말한 것처럼, 통신을 할 경우 브리지테이블을 참고해서 브리지를 건너가게 할 것인지, 못 건너가게 할 것인지 정한다고 했다.......

[Network] - 루핑(Looping) [내부링크]

루핑(Looping) ?· 프레임이 네트워크 상에서 무한정으로 뱅뱅 돌기 때문에 이더넷의 특성상 네트워크가 조용해야 데이터를 전송할 수 있는데, 다른 네트워크가 조용해지기를 기다릴뿐 전송은 불가능해지는 상태를 말한다.호스트 A가 브로드캐스트 패킷을 보내게된다. 양쪽 브리지에 전달이 될 것이다. 두 개의 브리지는 브로드 캐스트 패킷을 분석하게 되고 브로드캐스트 패킷이라는 것을 알게 되어 Flooding하게 된다. 브리지는 목적지 주소를 보고 그 주소가 자신의 브리지 테이블에 없거나, 멀티캐스트 주소, 브로드캐스트 주소인 경우에는 들어온 포트를 제외한 나머지 모든 포트를 뿌려주는 Flooding을 하게 된다. 이렇게 되면 상대방쪽 세.......

[FTZ] - level 4/ backdoor [내부링크]

level 4의 문제의 힌트는 /etc/xinetd.d 의 백도어를 심어 놓은 문제입니다일단 /etc/xindetd.d 경로로 가서 ls 명령어를 통해 확인 해봤습니다.backdoor 가 있는 것을 확인 할수 있고, 읽기 권한만 있으므로 vi 또는 cat 명령어를 통해 확인해 보면 될 듯합니다.xinetd 설정 파일을 설명해보면 다음과 같습니다.level4에서 확인을 했지만 user 에 level5가 적혀있는 것을 보아, finger 서비스로 실행되는 backdoor는 level5의 권한으로 실행되는 것 같습니다.server를 확인해보면, /homt/level4/tmp/backdoor 을 확인할 수 있습니다.이는 finger서비스를 수행하게 되면 xinetd.d 을 통해 server 에 지정된 경로의 파일이 실행되는 것 같습니다.......

[FTZ] - level5/ 임시파일 생성 [내부링크]

/usr/bin/level5 의 파일은 /tmp 디렉토리에 level5.tmp 이라는 임시파일을 생성한다고 하네요그렇다면, level5를 실행시켜보고 /tmp 이동해서 실제로 level5.tmp 파일이 생성되는지 확인부터 하는게 순서인 것 같습니다. /usr/bin 에 이동해서 level5가 실행파일인 것을 확인할 수 있습니다../level5 명령어를 통해 실행 시켜줍니다.그 후, /tmp 로 이동해서 실제로 level5.tmp 파일이 생성됬는지 확인해보면 됩니다.하지만, 생성이 안 된것을 확인할 수 있습니다.그러면 저희가 파일을 만들어 놓아두면 어떻게 될지 시도를 해봤습니다.cat 명령어를 통해 만들어줍니다.그리고 다시, /usr/bin 의 위치에서 ./level5를 통해 실행해줍니다/tmp 위.......

[FTZ] - level6 /bss [내부링크]

비밀번호를 치면 바로 hint 가 나온다. 여기서 아무키를 눌로보면 아래와 같이 나온다.여기서 1,2,3 번중 다 눌러봗 Trying 만 뜨는 것을 확인할 수 있는데 다시 시작 후, Ctrl+c를 눌러보면 아래와 같이 나온다. 그리고 ls 를 해보면 password 파일이 있는데 password 인것을 보아, level7로 가는 비밀번호 인듯하다.실제로 level7가서 비밀번호를 입력하면 알맞은 비밀번호인 것을 확인할 수 있다.Solve!

[FTZ] - level7 /진수변환 [내부링크]

level7은 다른문제와는 달리, hint를 확인해보면 상상력을 동원하라는 말과, 2진수에서 10진수로 진수 변환이 핵심인 듯하다.해당 문제는 문제가 있어 아래 링크를 참고하면 됩니다.https://taeminimini.tistory.com/376?category&#x3D;515577

[FTZ] - level10/ 공유 메모리 [내부링크]

공유 메모리를 이용하여 비밀스러운 대화를 나누고 있는데 저희의 목표는 두 사람의 대화를 도청하는 것이네요.도청하기 위해 소스를 작성해봤습니다.shmget(key_t ket, size_t tize, int shmflg) : 공유 메모리 공간을 할당하고, return값으로 공유 메모리 ID를 받습니다.- key_t key : 공유하는 키값 (7530)- size_t size : 공유 메모리 크기 - int shmflg : 공유 메모리 생성/ 접근 시의 옵션 (666)shmat( int shmid, const void *shmaddr, int shmflg) : 가상 메모리에 공유 메모리 위치를 할당합니다.- int shmid : 공유 메모리 ID (shmget으로 받은 공유 메모리 ID값)- const void *shmaddr : 공유 메모리 주소 (NULL 지정 시 시스템이 할.......

[FTZ] - level11/ Shell Code [내부링크]

ls를 통해 다른 문제와는 달리 attackme가 있는 것을 확인할 수 있습니다.ls -al을 통해 알아보니, setuid가 걸린 것을 확인할 수 있습니다.str 배열을 256크기를 주었다. argv[1]를 str에 복사해준다.strcpy함수는 입력 값의 길이를 검증하지 않기 때문에 버퍼 오버플로우에 취약한 함수입니다.gdb 도구를 통해 분석해보면 다음과 같습니다.esp, 0x108 : 전체 스택을 0x108만큼 할당해줬습니다. 0x108을 10진수로 표현하면 264byte입니다.소스에서 str배열에 크기를 256을 줬는데, 스택에 264만큼 줬다는 것은 dummy값이 존재하는 것을 알 수 있습니다. 그래서 그림으로 정리해보면 다음과 같습니다.여기서 RET에 실행시킬려는 쉘 코드의 주.......

[FTZ] - level12 /buffer overflow/RTL/ASLR [내부링크]

이전 level11과 다른점을 보면 gets함수를 사용하는 것을 확인할 수 있습니다.gets 함수는 문자열 길이를 검사하지 않기 때문에 버퍼 오버플로우에 취약한 함수입니다.attackme 파일을 tmp/attackme 에 복사했습니다.gdb도구를 통해 분석해보면 다음과 같습니다.level11에서와 같이 스택영역에 0x108, 10진수로 264byte 공간을 할당하고 있습니다.264byte의 공간을 할당했지만, 소스에서는 256byte의 크기를 줬기 때문에 8byte 크기의 dummy값도 있다는 것을 알 수 있겠네요.level12에서는 RET에 Shell 코드 시작 주소를 넣어 프로그램이 비정상종료되면 쉘코드를 실행시키는 방법을 RTL 기법을 사용할 것입니다. 하지만 rtl 기법을 막기위.......

[Malware] - 물리 메모리 분석 [내부링크]

Memory가상주소 공간과 물리 메모리의 관계· CPU는 오직 레지스터와 Memory 에만 접근· 프로그램이 실행될 때 필요한 데이터와 코드는 Memory 에 올려지고 CPU가 Memory 에 있는 실행파일을 실행· 프로세스는 메모리에 가상 메모리 주소로 존재한다.· 가상 메모리 주소는 물리 메모리에 조각으로 존재한다.· 프로세스는 운영체제에서 특정한 자료구조 형태로 관리한다.· Windows 운영체제에서는 EPROCESS메모리상에서의 프로세스페이징(Paging)· 프로세스를 일정 크기인 페이지로 잘라서 메모리에 적재하는 방식이다.· 물리 메모리 공간에 연속적으로 존재하지 않을 수 있다.· 프로세스에서는 연속적으로 보이지만 실제 메모리에서는 연속적.......

[Log Analysis] - 로그분석 개요 [내부링크]

로그란 ?시스템에 접속한 사용자들의 모든 행위들을 저장한 기록을 말한다.· 시스템에 이상징후가 발생할수 있다.· 시스템 관리자가 가장 먼저 확인해보는 것이 로그 파일이다.· 어떤 행위에 의해서 변한 모든 것이 로그가 될 수 있다(Metadata, Registry, 환경변수, Crash dump...)· 어디서 누가 어떻게 들어와서 어떤 작업을 했는지를 확인 할 수 있다.로그 종류· Audit logs (감사로그)· Transation logs (거래로그)· Instrsion logs (침해로그)· Connection logs (접속 로그)· System performance records (시스템 포퍼먼스 기록)· User activity logs (시스템 활동 로그)· Various alerts and other messages (다양한 경보 및 다른 메시.......

[Log Analysis] - 리눅스 로그 분석 [내부링크]

로그 분석이 필요한 이유· 시스템의 오류나 사용자의 취향 등을 분석 할 수 있는 정보를 제공· 보안사고가 발생하였을 때 추적을 할 수 있는 유일한 증거 자료· 보안 사고가 발생하기 전에 이상 징후는 없는지 또 외부의 해킹시도는 없었는지를 감시하여 알아낼 수 있는 자료· F/W 이나 IDS, IPS가 설치 되지 않은 기관에서는 침입시도· 감지 할 수 있는 유일한 판단 자료가 시스템 내부의 로그· 외부의 비인가자가 시도하는 해킹 흔적에 대한 발견· 내부의 인가자가 시도하는 해킹 흔적 및 이상 징후 판단을 위해서 분석침입 탐지 체크 리스트· Prcess 기록, syslog에 의해 생성된 모든 로그 파일 &#38; 보안 로그 등을 조사· 침입 당한 시.......

[Log Analysis] - 윈도우 이벤트 로그 분석 [내부링크]

윈도우 이벤트 로그· Windows 시스템에서는 시스템 로그가 이벤트 로그로 저장, 관리· 이벤트 로그 확장자 : - Windows XP, Server 2003 : .evt - Windows 7, Server 2007(Vista 이후) : .evtx· 저장 위치 : - C:\Windows\System32\Wincvt\logs 윈도우 이벤트 로그를 조사하는 이유· 해킹 징후를 파악 - 이벤트 로그를 변조한 흔적의 유무 파악· 이벤트 로그는 시스템에서 일어난 전반적인 사건이 저장된다. - 로그를 분석함으로써 침해 대응에 관한 자료나 Forensic의 증거 자료로써의 활용이 가능하다. - 로그를 통해서 공격자의 행위를 분석한다. - Event를 분석하여 피해르 입은 부분을 빠르게 복구한다.윈도우 이벤트 로그 기본 구.......

[일기 · 공부계획] - 0518~0525 온라인 실전형사이버 훈련장 교육 후기 [내부링크]

문제가 있을 시 바로 삭제하겠습니다신청한 이유https://academy.kisa.or.kr/main.kisa 사이버 보안 인재 센터에서 제공되는 교육들의 경우 정보보호에 관련된 재직자에 대한 교육이 많지만, 이 교육은 구직자한테도 교육을 들을 수 있어서 신청을 해봤다. 그리고 조금이나마 스펙의 한 줄이라도 채우기위해 이 교육을 신청 한 이유이기도 하다.교육이 어떻게 진행되는가?교육은 총 3파트로 APT 침투, 악성코드, 로그분석으로 나뉘었다.팀과제제출, 동영상 시청, 문제풀이(약 150문항)으로 교육이 진행된다.팀과제제출의 경우, 동영상을 시청 후, 그에 관련된 내용에 대한 과제가 주어지는데, 동영상에 대해 공부를 잘 하면 팀과제제출에 대.......

[C/C++] - C++/ 정수형,실수형 리터널 상수의 타입 [내부링크]

리터널 상수는 변수와 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않다.정수형 리터널 상수는 123, -456과 같이 아라비아 숫자와 부호로 표현이 된다.실수형 리터널 상수는 3.14, -45,6과 같이 소수 부분을 아라비아 숫자로 표현된다.문자형 리터널 상수는 &#x27;a&#x27;,&#x27;Z&#x27;와 같이 따옴표(&#x27; &#x27;) 감싸진 문자로 표현된다.C++ 에서는 10진수, 8진수, 16진수로 표현이 가능하다.예를들어, cout객체는 dec, hex, oct 조정자를 제공한다.객체에 이 세가지 조정자를 전달하면 변경 되기 전까지는 진법이 유지된다.예제 1과 예제2를 비교하면 이해를 할 수 있을것이다.oct( 8진수) 형태로 변형을 하고 그.......

[C/C++] - C / 동적메모리 malloc [내부링크]

malloc 을 사용하여 동적 할당된 메모리는 어떻게 처리되는지 알아봤다.이 소스를 간단하게 그림으로 표현하면 다음과 같다.(int*)malloc(12)을 통해 12 byte을 할당 받았다.그리고 int *p로 받는 것을 확인할 수 있는데 이는 4byte 크기로 나누어서 쓴다는 것을 의미한다.실제로 p는 다음과 같이 메모리를 구성한다고 생각하면 된다.

[일기 ㆍ공부계획] - 0528 KISA 수료증 [내부링크]

5월18일~ 5월24일 교육을 듣고 결과가 나왔습니다.수료 기준은 60점이상을 맞으면 수료증이 나오는데, 60점 이상을 맞아서 수료증이 나왔습니다.한글로 된 수료증도 있는데, 영어로 되어 있는 수료증도 있어요 .. 영어 ..먼가 멋잇네요점수는 이메일로 와서 확인할 수 있었습니다.점수를 알고있지만 비밀입니다.ㅎㅎ중급자 과정이지만, 진입장벽이 그렇게 높지 않기 때문에 관심있으시 분들은했으면 좋을 듯 하네요!

[Network] - 라이브 호스트 스캐닝 [내부링크]

호스트 스캐닝 개요· 원격 시스템의 라이브 호스트를 검색하여 통신 할 수 있다· 스캐닝은 로컬 네트워크 및 외부 네트워크 내에서 수행할 수 있다· ping, nmap,arping과 같은 도구 사용※공격자 입장에서 생각하기· 라이브 호스트 스캔은 API 라이프 사이클 중 내부 정찰에 포함· 내부정찰이 전 단계에서 공격자는 타겟 네트워크에 침투하여 첫 번째 호스트를 장악· 공격자는 첫 번째 희생자 시스템이 속한 네트워크를 스캔· 다른 라이브 호스트를 파악하여 더 중요한 정보를 얻을 수 있음.· 라이브 호스트 스캐닝을 통해 공격자는 HR 서버 (임원 및 직원 관련 정보를 포함하는 서버)나 중요· 데이터를 가지고 있을 시스템과 같은 대상.......

[Network] - 포트/서비스 정보 스캐닝 [내부링크]

APT 공격 라이프 사이클 : 내부 정찰· 내부정찰 : 타겟의 네트워크 인프라, 신뢰관계, Windows 도메인 구조정보를 수집네트워크연결, ARP 캐시테이블, 라우팅테이블, 포트/서비스Active Directory 그룹/유저/공유 리소스 정보를 수집포트/서비스 정보 스캐닝 개요스캐닝이란· 취약점 스캔 및 모의해킹에 필요한 정보를 얻기 위한 정보수집 기술· 타겟 네트워크에서 실행중인 Explorer 시스템· Explorer Active 운영체제 및 서비스스캐닝방법· Active Host Scanning· Port Scanning· Vulnerability Scanning포트스캐닝 유형 및 특징· 포트스캐닝은 네트워크 호스트에서 사용 가능한 오픈 포트 및 서비스를 식별하.......

[Network] - Pivoting [내부링크]

APT 공격 라이프 사이클· 타겟 네트워크의 다른 호스트 및 서버 시스템 정보를 수집하고 공격하여 액세스 및 제어 범위를 확장 CIFS(Common Internet File System) 개요· CIFS는 Microsoft에서 개발한 프로토콜· CIFS는 Internet과 Internet 파일 공유를 위한 향상된 버젼의 마이크로 소프트의 SMB(ServerMessageBlock) 프로토콜을 기반으로 함· Microsoft에서 정의한 것처럼 CIFS는 &#34;컴퓨터 사용자가 회사 인트라넷과 인터넷에서 파일을 공유하는 표준방식&#34;· TCP 445포트를 사용CIFS(Common Internet File System) 순서· CIFS는 클라이언트,서버 프로그래밍 모델을 사용하며 클라이언트에서 서버로 패킷을 전송하는 방식으로 작동.......

[Malware] - 악성코드 특징 [내부링크]

Malware(악성코드)란 ?· 악성코드는 Malicious Software(악의적인 소프트웨어)의 약자· 사용자 의사와 이익에 반해 시스템을 파괴하거나 정보를 유출하는 것· 악의적인 목적을 가지고 제작된 소프트웨어악성코드 감염 경로사용자의 디바이스를 감염시키는 악성코드의 배포 방식은 매우 다양하다· E-mail(이메일) : 사용자가 이메일의 첨부 파일을 다운로드 하거나 열었을 경우에 악성코드가 감염된다.· 불법 복제 프로그램 : 불법 복제 프로그램은 바이러스 및 각종 해킹 프로그램이 침입하는데 사용되는 중요한 경로· P2P Service : 사용자들이 일반적으로 사용하는 P2P 프로그램은 Adware를 내장하고 있어 타겟 광고를 일방적으로 내보.......

[Windows] - Windows 주요 프로세스 [내부링크]

Windows 주요 프로세스 &#38; 기능[lass.exe]1. Local Security Authority Subsystem Services· 보안 정책 적용을 담당하고 있는 프로세스· 패스워드 변경, access tokens 생성, 사용자 인증 등을 담당· 악성코드가 자주 사용하는 이름 중 하나2. Anomalies· 실행 이미지의 경로가 %systemroot%\system32가 아닌 경우· 자식 process 를 가지고 있는 경우· 프로세스 시작 시간이 시스템 부팅 시간과 동떨어진 경우· CPU 점유율이 과도하게 높은 경우[svchost.exe]1. 프로세스의 목적 및 기능· Service host· 동적 라이브러리 (DLL) 에서 실행되는 윈도우의 각종 서비스를 제어· 윈도우 부팅시 레지스트리의 서비스 부분을 검사· 로드해.......

[Malware] - 비정상 프로세스 탐지 [내부링크]

svchost.exe· Windows Service Host Process· 모든 시스템에 향상 존재하고, 보통 여러 개으 인스턴스가 동시에 실행되기 때문에 악성코드 은닉에 많이 악용된다.· 프로세스기반의 Firewalling이 적용되어 있는 있는 시스템의 경우에도 scvhost는 네트워크 사용이 허가되기 때문에 프로세스기반의 Firewalling을 우회하기 위해 목적으로 악용된다.· 윈도우 내 주요 서비스를 호스팅 하는 역할의심스러운 svchost.exe· rogue name ( 프로세스의 숫자 철자를 앞뒤에 추가, 비슷한 단어로 속인다.)· 부모 프로세스가 services.exe가 아닌 경우· 호스팅하는 프로세스가 없는 경우 - 커맨드라인 파라미터를 통해 확인이 가능하다· 프로세스가 은.......

[Malware] - 부트 로그 분석 [내부링크]

부트로깅을 통한 프로세스 분석1. Boot Logging 시스템이 부팅 중 발생하는 이벤트를 모니터링 하고 이를 로그에 남기는 작업을 의미Boot Log 분석 방법· Injection/Launcher 의 기능을 수행하는 프로세스를 식별· 자동실행 된 프로세스를 식별· 특정 프로세스 실행 중 접근된 자원을 식별· 프로세스 상관 관계 분석(Parent-Child Relationship)· TCP/UDP Traffic을 발생시킨 프로세스를 식별Sysinternals Suite의 도구를 이용한 부트 로그 분석1. 부트 로그 확인procmon.exe을 이용하여 boot logging 을 실행Options -&#62; Enable Boot Logging -&#62; System 재부팅Procmon Filter · 부트 로그의 결과는 별도의 파일(.PML)로 저장이 가.......

[Malware] - 자동실행지점 분석 [내부링크]

악성코드의 특징시스템이 꺼지더라도 악성코드가 다시 실행될 수 있도록 자동실행 지점(AESP)에 자신을 등록주요 자동실행 방법· 레지스트리 키 수정· DLL 탐색 우선순위 조작· 바로가기 파일 조작레지스트리 기본 구조레지스트리의 구조 : 트리 구조· 5개의 루트키 : HKLM,HKU, HKCU,HKCC,HKCR루트키의 종류 : master key, derived key· master key 는 hive file 에서 데이터를 읽어 구성한다.· Derived key 는 master key 로부터 그 값을 가져와 구성한다.주요 Hive 파일 레지스트리 편집기 : 윈도우 + &#34;R&#34; -&#62; &#34;regedit&#34;그 외 정보 : https://blog.naver.com/ster098/221831867282레지스트리 분석1. ShellS.......

[C/C++] 'C' 와 'C++' 키워드 차이 [내부링크]

C를 배우면서 많은 키워드를 배워 왔다. C에서의 키워드가 있듯이 C++ 에서도 키워드가 있는데 이를 비교하기 위해서 알아봤다.

[Security Word] - APT [내부링크]

APT(Advanced Persistence Threat)?표적공격은 APT와 동일한 의미를 지닌다. · Advanced 고도화된,고급의· Persistence 지속되는· Threat 위협APT 특징· 표적에게 들키지 않기 위한 은밀성· 긴 시간동안 대상에게 지속적으로 공격수행인터넷에 알려진 표적공격의 절차나 체계들은 표적공격 주체인 해커그룹이 만들어낸 것이 아니다.이러한 절차 , 체계들은 표적공격주체에 대한 전략과 전술을 분석하고 선지적 대응하기 위해 만들어진 것이다.표적공격에 대해 Fireeye는 일반적인 절차를 정의하고 있으며, 7단계로 구분하고 있다.해커 그룹을은 표적 네트워크에 침투한 후 거점시스템을 이용하여 다른 시스템 제어 권한을 탈취하며 지.......

[Network] - 사회공학기반 네트워크 침투 [내부링크]

사회공격 기반 공격?· 사회공학 기반 공격은 사용자로 하여금 기밀 정보를 누설하도록 유도하는 심리적 트릭을 말한다.예) 스피어피싱(Spear pishing)공격예시· &#34;Email&#34;을 이용한 악성파일 실행 유도· &#34;Email&#34; &#x3D;&#62; 사회공학기반 표적 공격의 수단 ( 다른 수단이 될 수도 있음)· 핵심요소 &#x3D;&#62; 안심하고 메일을 열어서 파일을 실행하게 만드는 방법(제목, 내용, 작성자 등을 이용하여 안심하게 만든다)원격 쉘 개요· 원격 쉘 : 다른 시스템과 채널을 구성하여 파일을 공유하거나 시스템문제를 원격으로 해결한다.· 두 시스템 간에 원격 쉘을 설정한 경우 한 시스템에서 다른 시스템에 명령어나 코드를 실행.......

[Network] - 사회공학 기반 네트워크 침투 [내부링크]

스피어 피싱 공격※이메일· 타겟 수신자는 위험해 보이지 않는 첨부 파일을 다운로드하거나 악성 코드 또는 위험한 웹사이트 링크를 클릭하도록 유인한다.· 그 파일은(소프트웨어 취약점을 이용하여 익스플로잇) 손상된 시스템에 악성코드 · 악성코드는 악의적인 command-and-control(C&#38;C) 서버에 액세스하여 사용자로부터 명령을 기다린다.※첨부파일· 스피어 피싱 이메일은 다양한 종류의 파일을 첨부한다.· 실행 파일(exe)은 일반적으로 스피어 피싱 이메일에 첨부 파일로 사용되지 않는다· 보안 솔루션에서 일반적으로 .exe파일이 첨부 파일인 경우 이메일을 탐지하고 차단하기 때문이다스피어 피싱 작동원리· 공격자는 스피어.......

[Network] - 침투에 사용할 네트워크 침투 [내부링크]

SSH 터널링을 이용한 패킷 포워딩※터널링터널링 프로토콜을 이용하여 데이터를 다른 네트워크로 안전하게 이동시키는 기술을 말한다.데이터가 전송될 때 거쳐가는 네트워크가 인터넷과 같은 신뢰성이 낮은 네트워크일 경우 터널링 기술을 사용될 수 있다. ( 스니핑과 같은 위협으로 부터 보호 할 수 있다)http ftp smtp 기본적으로 암호화 기능을 가지고 있지 않아 인터넷과 같은 신뢰성이 낮은 네트워크 상에서 스니핑위협에 노출 될 수 있다. 터널링은 이러한 문제에 대해 터널링은 문제를 해결해 줄 수 있다.· 접근할 수 없는 네트워크에서 패킷 통신이 가능하도록 하는 기술· 외부 시스템에서 내부 시스템으로 막혀있기 때문에 정상적인.......

[Network] - 침투에 사용할 네트워크 침투 [내부링크]

SSH 터널링을 이용한 패킷 포워딩※터널링터널링 프로토콜을 이용하여 데이터를 다른 네트워크로 안전하게 이동시키는 기술을 말한다.데이터가 전송될 때 거쳐가는 네트워크가 인터넷과 같은 신뢰성이 낮은 네트워크일 경우 터널링 기술을 사용될 수 있다. ( 스니핑과 같은 위협으로 부터 보호 할 수 있다)http ftp smtp 기본적으로 암호화 기능을 가지고 있지 않아 인터넷과 같은 신뢰성이 낮은 네트워크 상에서 스니핑위협에 노출 될 수 있다. 터널링은 이러한 문제에 대해 터널링은 문제를 해결해 줄 수 있다.· 접근할 수 없는 네트워크에서 패킷 통신이 가능하도록 하는 기술· 외부 시스템에서 내부 시스템으로 막혀있기 때문에 정상적인.......

[Win32 API] Windows의 변수 명명법과 데이터형 [내부링크]

참고http://www.soen.kr/Windows에는 많은 변수들이 사용되어 접두어로 보기 좋게한 정해진 변수들이 존재한다.Win32 API를 공부하면서 많이 나오는 접두어이므로 외워야 한다.예를 들면, dbstring이라고 하면 문자열의 바이트를 나타내는 정수형 인수라는 것을 쉽게 알 수 또한 Windows에서는 새로운 데이터형을 만들어서 사용한다. 이 데이터형은 windwos.h 라는 헤더 파일에서 typedef로 선언되어 있으며 모든 프로그램에서 표준 데이터형처럼 사용된다.

5.13 C언어 공부 [내부링크]

공부 계획을 실천하기 위해 우선적으로 C언어를 다시 복습했다.C언어를 공부했던게 3년전이라서 ,, 다시 공부할려고 하니 막막했다.그래도 자료형, 배열, 연산자 등 익숙해서 쉽게 넘어 갈 수 있었지만, 그때도 그랬지만 포인트, 주소 쪽에서 많은 어려움이 있었다.그리고 오랜만에 케이쉴드 주니어 3기의 과정을 블로그에 포스팅 해 볼 생각을 가지게 되었다.공부하는 시간을 제외한 쉬는시간에 포스팅을 해봐야겠다고 다짐을 했다.

[C/C++] scanf, scanf_s, scanf를 사용하는 방법, sdl 정책, scanf 오류 해결방법 [내부링크]

C언어를 공부하거나, C언어를 통해 개발을 하는 도중에 scanf 함수를 많이 사용할 것이다.그런데 scanf 함수를 사용하게 되면 [보기 1-1] 처럼 오류가 발생하는 것을 확인해 본적이 있을 것이다.오류메시지를 간략하게 해석해보면 scanf는 안전하지 않다라고 말하고 있으며, _CRT_SECURE_NO_WARNINGS 사용하라고 적혀있다.이는 SDL 정책으로 인하여 발생한 것이다. scanf 함수가 위험한 함수는 아니지만 개발자들이 메모리를 다룰 때 부주의하게 다루거나 초보자들이 메모리를 잘못사용하여 버그가 되는 것을 막을려고 만든 것이 scanf_s 이다숙련된 개발자라면 scanf함수를 사용하는 것이 더 좋다. 왜냐하면, scanf_s 를 사용하게 되면 내부적.......

[C/C++] void main(), int main(), return 0 [내부링크]

4~5년전에 C/C++ 에서 int main(), void main(), main(void)등은 땔래야 땔 수없는 관계이다.하지만, 교육을 들으면서 void가 무엇인지, 왜 int main(), void main()등을 명확히 설명해주지는 않았다. 다른 곳에서도 명확히 설명해주는 곳은 없을 것이다. 그래서 이 부분에 대해 알아봤다.C언어의 표준안으로 더 이상 void main()은 점점 사라진다void main과 int main에서의 main이 반환하는 값은 해당 프로그램의 종료 상태를 의미하는 값으로 사용되기 때문에 종료 상태가 없다는 의미의 void main의 형식은 사실 잘못된 표현이다.하지만, 실제로 void main를 사용하여 소스를 작성해보면 정상적으로 허용이 되는 것을 확인할 수 있다.......

[C/C++] 메모리 단위, 64비트,32비트란? [내부링크]

여기서 다룰 내용은 C/C++ 뿐만 아니라, 프로그래밍 전체적인 부분에서 중요한 부분이라서 공부했다.Windows 32bit 와 64bit 차이가 궁금해하시는 분들이 많을 것이다. 차이점을 크게 본다면 연산처리 속도의 차이를 말할 수 있다. 즉, CPU에서 정보를 처리되는 방법을 뜻한다.컴퓨터는 메모리에 데이터를 저장할 때 사용하는 최소 단위는 비트(bit)이다. 그리고 컴퓨터의 기억 장치는 모든 신호를 2진수로 변환 저장한다. 그래서 만약 30 과 50을 연산을 하게된다면 , 1비트에 저장 가능한 값이 아니므로 2진수로 변환이되어 0001 1110 과 0011 0010 으로 변경하고 값들을 비트단위로 연산해야 한다.이렇게 일일이 변경하여 연산하는 불편.......

[일기] 20200515 - C언어 공부, "실무자가 말하는 모의해킹' 책 리뷰예정 [내부링크]

오늘은 int main과 void main 등 main에대해 알아봤다. 3~4년전 C를 공부할 때는 아무렇지 않게 그냥 사용하면 되겠구나...이런 마인드였지만,, 지금은 다르다..하나하나 다 이해를 해야 공부를 하면서 막힘없이 할수 있을거라 생각이 들었다. 그리고 머리를 아프게 했던 것이 메모리 부분이였다. 케이쉴드 주니어를 하면서 FTZ를 풀었었는데, 그때는 메모리에 대해 얕게 아는 상태에서 문제를 풀어나갔었다. 하지만 오늘 공부한 내용들을 보니, 그때 공부했던 내용들이 하나하나씩 문제가 이해를 할수 있었다. 그리고 한번읽어보고 싶었던 책이 도착해서 쉬는시간마다 읽어봤다.기술적으로 작성된 책이 아니라, 진로에 대한 고민, 실제 실무자.......

[C/C++] 포인터 변수와 주소 [내부링크]

포인터 변수는 자료형을 선언하지 않아도 무조건 크기가 4Byte이다.&#x27;포인터&#x27; : 자신이 사용하고 싶은 메모리의 &#x27;주소&#x27;를 저장하고 있는 메모리가 포인터이다.*ptr 여기서 포인터는 무조건 크기가 4byte이다. 그리고 가리키는 대상의 크기는 short(2byte) 이다.위 소스를 정리해보며 아래와 같다.1. short cht;2. short *ptr3. ptr &#x3D; &#38;cnt;4. *ptr &#x3D; 1004;

[백준- C] 10818번 : 최소, 최대 [내부링크]

문제N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.입력첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.출력첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.예제 입력 1 예제 출력 1 처음엔 SDL 검사 때문에 전처리기를 포함하기도 하고, scnaf_s를 사용하기도 햇다.하지만, 컴파일 에러가 뜨는 것을 확인할 수 있었고, scanf함수로 수정하여 제출하니 성공적으로 문제가 풀렸다.

[Security Word] - 스니핑(Sniffing) [내부링크]

환경공격자 : Kali Linux 192.168.115.130사용자A : Metasploitable 192.168.115.131사용자B : Ubuntu 192.168.115.129시나리오사용자 A와 사용자B 가 FTP 접속을 통해 통신을 하는 것을 공격자가 도청하고 있다.스니핑이란?스니핑(Sniffing) 은 스니퍼(Sniffer)를 이용하여 네트워크상의 데이터를 도청하는 행위를 말한다.스니퍼란 컴퓨터 네트워크상에 흘러 다니는 트래픽을 엿듣는 도청장치라고 할 수 있다.목적· 상대방의 들어오는 패킷정보를 가져와서 거기서 중요한 정보를 탈취하기 위함이다.주요 특징· 스니핑은 막기가 매우 힘들며 탐지도 어려움· 수동적 (Passive) 공격· 스위치 환경에서 스니핑을 하기 위해서는 선행 공격이.......

Windows 응용프로그램 Event 객체 [내부링크]

참고https://blog.naver.com/tipsware/2212088536451. 동기화- A 값을 구한 사람이 다음 작업을 위해 B 값을 구하는 작업이 완료되기를 기다려주는 행위가 &#x27;동기화&#x27;이다- 만약 하나의 처리에서 실행이 된다며 동기화를 할 필요가 없다.2. Event 객체- 두 개 이상의 스레드가 협력해서 작업을 하는 경우에는 상황에 따라 동기화가 필요하기 때문에 동기화를 처리하는 기술을 사용해야 한다.3. 프로세스(Process)- 디스크에 있는 프로그램을 읽어와서 CPU가 사용할 수 있도록 재구성한 메모리를 &#x27;프로세스&#x27; 라고 한다.- 컴퓨터에서 실행 중인 프로그램을 &#x27;프로세스&#x27; 라고도 한다.- 작업을 진행하기 위한 명령어.......

Window Class 란 [내부링크]

참고https://blog.naver.com/tipsware/221004018862Window Class- Windows 운영체제에서 Window를 관리하는 기본 개념으로 사용된다.- Windows 운영체제는 멀티태스킹을 지원하기 때문에 동시에 여러 개의 프로그램을 실행할 수 있다.- 여러 개의 프로그램에서 &#x27;서로 다른 프로그램&#x27;을 뜻하기도 하지만, &#x27;같은 프로그램&#x27; 으로도 실행될 수도 있다는 뜻이다.- 예를 들어, 위 사진처럼 &#x27;Window 탐색기&#x27; 프로그램은 파일을 복사 이동하기 위해 여러개를 동시에 실행해서 사용하기 한다.- 동일한 프로그램이 여러 개 실행해서 사용하는 경우 중복된 데이터가 많아 줄여야 한다.- 동일 한 프로그램이 여러개 실행된 된.......

운영체제,API,SDK [내부링크]

참고https://blog.naver.com/tipsware/220918842965운영체제(Operating Sytem, O/S)- 각 장치들을 제어(사용) 할 수 있도록 도와주고, 장치의 한계치를 관리하고 보호하는 소프트웨어를 운영체제라고 말한다.응용 프로그램과 API- 개발자들이 해당 운영체제에서 동작하게 만든 프로그램을 응용프로그램이라고 한다.- 운영체제가 개발자들이 응용프로그램을 만들 수 있도록 제공하는 함수의 집합체를 API라고 한다.SDK- 응용프로그램을 개발하기 위한 환경을 SDK 라고 한다. 흔히, Visual Stdio 와 같은 개발의 통합환경을 말할 수 있지만, Visiual Studio는 유지보수, 사용자에게 편리하게 배포하는 기능 등을 포함하고 있기 때문에 SDK보다.......

Windows 데스크톱 응용프로그램(Win32) [내부링크]

참고https://blog.naver.com/tipsware/221207948862응용프로그램이란 ?Windows 운영체제에서 실행되는 전통적인 Window 기반의 프로그램을 &#x27;Windows 데스크톱 응용프로그램&#x27; 이라고 한다.흔히 우리가 아는 &#x27;메모장&#x27; , &#x27;그림판&#x27; , &#x27;탐색기&#x27; 같은 프로그램을 말한다. 이러한 프로그램들은 Win32 계열의 API 함수를 사용했기 때문에 &#x27;Win32 API 응용 프로그램&#x27; 또는 Win32 프로그램&#x27;이라고도 불린다.응용 프로그램은 어떻게 만드는가 ?Windows 운영체제가 C언어를 기반으로 만들어졌기 때문에 C언어와 운영체제가 제공하는 API 함수를 가지고 응용 프로그램을 개발하는 것이 기본이다.

Windows 운영체제의 핸들(Handle)이란 [내부링크]

참고https://blog.naver.com/tipsware/221065382244Windows 운영체제는 운영체제가 제공하는 자원 즉, 커널 객체에 대해서 응용프로그램이 포인터를 접근 못하도록 되어 있다. 하지만 간접적으로 접근할 수 있도록 포인터는 아니지만 이와 유사한 &#x27;핸들&#x27;을 제공한다.리소스- 운영체제에 의해서 관리되는 장치나 해당 장치를 사용하기 위해 필요한 정보들을 운영체제의 리소스라고 부른다.리소스는 장치를 사용할 수 있게 도와주는 장치에 설정되어 있는 상태 값을 의미하는 경우가 많다. 핸들(Handle)- 응용프로그램이 포인터를 사용하여 운영체제의 리소스에 직접 접근하게 되면, 나쁜목적을 가진 프로그램에게 정보를 빼앗기거나.......

프로그램 구별하는 ID인 HINSTANCE [내부링크]

참고https://blog.naver.com/tipsware/221065845049프로그램에 포함된 각종 리소스에서 비트맵, 아이콘 같은 정보를 사용하려고 하면 HISATNCE 값이 반드시 필요하다.1. HISTANCE - HISTANCE &#x3D; H(Handle) + Instance- instance handle을 저장할 때 사용한다.- Instance Handle 은 윈도우즈 운영체제에서 실행되는 프로그램들을 구별하기 위한 ID - 값은 정수이며 ,프로그램을 구별하기 위한 값이기 때문에 같은 프로그램을 실행할 경우 같은 값을 가지게 된다.2. Process ID- 디스크에 저장된 프로그램(실행파일)을 실행시키면 운영체제는 CPU가 사용할 수 있도록 메모리에 재구성하게 된다.- 메모리에 실행 가능한 상태로 재배열된 실.......

공부 계획 [내부링크]

1. 프로그래밍 언어 : Python, C/C++, JavaPython : 많은 해킹 도구들이 Python이 사용되고 있다.기본적인 사용법, 문법을 익힌 후, ctypes, pydbg 모듈 공부, 및 Win32 API 다뤄보기, MSDN에서 제공하는 문법 참고 하면서 공부할 예정전역 훅을 설정하여, 사용자 키보드 입력을 콘솔에 출력하는 프로그램 만들어 볼 예정C/C++ : 어셈블리어, 운영프로그램이 C/C++로 되어 있다.2. 웹 해킹 : HTML, JS, PHP 언어 공부언어 공부 후 OWASP TOP10, 행안부 시큐어코딩 가이드라인 참고하면서 공부할 예정3. 네트워크 해킹 : Socket 프로그래밍(python), OSI 7계층4. 시스템 해킹 : 컴퓨터 구조 운영체제 시스템 해킹 pwable.kr 를 통한 학.......

Python - pefile [내부링크]

Downloadhttps://github.com/erocarrera/pefilepefile을 import 한 후, exe파일 또는 DLL , object 코드 FON 폰트파일등을 선언해줍니다.pe.dump_info() 를 통해 선언한 파일을 덤프해서 출력합니다. 출력된 전체적인 내용에서 짤라서 올렸습니다.

VMWARE WORKSTATION PRO 15.5 설치하는 방법, 설치법 [내부링크]

가상화 프로그램 중 유명한 Vmware와 Virtualbox가 존재한다.그 중 오늘은 VMWARE WORKSTATION PRO 15.5 버전의 설치하는 방법을 알아볼 것이다.유료버전인 Vmware Workstation pro는 스냅샷, 복제, 가상머신 공유 등의 기능을 제공하므로 많은 유저들이 이용한다.유료이지만 키값이 구글검색을 하면 검색이 되니 참고하도록 합니다.1. Vmware 홈페이지 접속https://www.vmware.com/kr/products/workstation-pro/workstation-pro-evaluation.html2. 자신이 사용하고 있는 운영체제에 맞는 걸로 다운 Window와 Linux 로 나누어진다.3. 설치파일 실행 후 Next4. 라이센스에 동의한다고 체크한 후 Next5. 설치경로를 바꾸고 싶을 경우 Change를 클.......

[백준-python] 11047번 : 동전 0 [내부링크]

문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 &#x3D; 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.예제 입력 1 예제 출력 1 예제 입력 2 예제 출력 2 이 번문제는 너무 단순하게 생각하면서 풀었던 것같다. 그냥 말을 풀어놓은 그대로 소스를 작.......

텔레그램이 왜 인기가 많아졌는가 ? [내부링크]

참고http://news.bizwatch.co.kr/article/mobile/2014/10/02/0017http://www.inews24.com/view/945086https://www.boannews.com/media/view.asp?idx&#x3D;871772014년 카카오톡 검열에 대한 논란이 많이 있었다고 합니다. 이 사건은 경찰이 노동당 부대표를 수사하면서 카톡 대화록을 검열했다는 소식이 전해졌습니다. 이 때문에 사정 기관이 개인의 카톡을 쉽게 들여다 볼 수 있는 것 아니냐는 우려가 나오는데요.지난번 세월호 참사 때에도 수사 기관이 당시 사고 상황을 재구성하기 위해 승무원들의 카톡 대화 내용을 가져갔는데요. 수사 기관이 요청하면 업체 입장에선 협조할 수 밖에 없습니다. 다만 사법 기관인 법원의 영장을 들이 밀어.......

Kali Linux - 한글 깨짐 해결하기 [내부링크]

설치환경kali 2020.1b*입력해야 할 명령어 1. 터미널 창을 연다(Ctrt+Alt+t)2. sudo ~$apt-get update 3. sudo apt-get install fcitx-hangul설치를 진행할 것인지 [y/n] 이 뜨면 y4.~$sudo apt-get install fcitx-lib*라이브러리 설치5. sudo apt-get install fonts-nanum*나눔 폰트 설치6. 입력기 검색 후 클릭7. &#x27;확인&#x27;8. 예(y)9. fcitx 사용 클릭 후 확인10. &#x27;확인&#x27;11. fcitx 검색 후 fcitx 설정 클릭12.Hangul 설정 확인 후 &#x27;+&#x27; 버튼 클릭13. 키보드 영어로 한 후 선택14. 한글 깨짐 해결 완료

Python - 파이썬 크롤링 [내부링크]

참고https://blockdmask.tistory.com/385파이썬에는 html을 파싱을 하기 위한 모듈 bs4 에 BeautifulSoup 이 존재합니다.bs4 모듈을 다운 안받았다면 아래의 명령어로 다운받으셔야 합니다pip install bs4어떤 데이터들을 크롤링 할 것인가 ?이슈내용들을 간략하게 보여주는 사진의 빨간 박스 부분을 크롤링해 볼 것입니다.우선 찾기 전에 제가 찾고자 하는 목적지를 찾아야 되는것이 순서중의 첫 번째입니다.사진의 빨간 부분의 목적지를 찾기위해 관리자도구(F12)를 하고, 아래 사진의 마우스 클릭 표시와 비슷한 도구를 클릭한 후원하는 목적지에 커서를 가져다 둡니다.그러면 아래와 같이 내가 원하는 타겟이 어떤 태그를 사용하고 있는지.......

Python - 간단한 포트스캐너 제작 [내부링크]

참고 https://limjunyoung.tistory.com/29https://babysunmoon.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0-ftp-%EC%9C%88%EB%8F%84%EC%9A%B0-ftp-%EC%84%A4%EC%A0%95실습환경Python 3.7.3스캔할 포트 번호 범위를 range를 사용하여 20번부터 30번까지 지정해줬습니다.그리고 connect(IP주소,포트번호)를 지정해줬습니다. ip 주소는 반드시 로컬로 해야합니다. 만약 80번 포트가 열려는 있지만, 서비스를 구동 안할 경우 아래와 같이 출력됩니다.

[백준-python] 15650번 : N과 M(2) [내부링크]

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열고른 수열은 오름차순이어야 한다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 예제 출력 1 예제 입력 2 예제 출력 2 예제 입력 3 예제 출력 3 permutaions가 순열 즉, 가능한 한 모든 순서, 반복이 없이 계산을 해주는 모듈이다combinations은.......

[백준-python] 15651번 : N과 M(3) [내부링크]

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 예제 출력 1 예제 입력 2 예제 출력 2 예제 입력 3 예제 출력 3 product 함수는 데카르트 곱을 함수로 표현한 것이다.쉽게 말해 곱의 집합이다. 집합 A&#x3D;{x,y,z} B &#x3D;{.......

[백준-python] 15652번 : N과 M(4) [내부링크]

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.고른 수열은 비내림차순이어야 한다.길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다.입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 예제 출력 1 예제 입력 2 예제 출력 2 예제 입력.......

Python - for와 딕셔너리 [내부링크]

앞에서 딕셔너리를 공부했을 때 딕셔너리는 키-값 쌍을 저장하는 구조로서 데이터를 입력한 순서대로 저장하지 않는 것을 알수 있었습니다..for 구문에 리스트와 튜플을 사용하면 원소 하나씩 변수에 바인등 되는 것을 확인할 수 있습니다.그렇다면, 딕셔너리는 한 원소에 키와 값을 두가지를 가지고 있기 때문에 어떻게 불러올지가 관건이겠습니다.한 원소에 키와 값이 존재하기 때문에, 입력 받은 변수를 두개를 적으면 되겠습니다. 그리고 딕셔너리 이름을 적은 당므 .items()를 붙여야 합니다.이를 응용하면 , 딕셔너리는 키를 불러오면 값을 불러오는 것을 이전 공부하면서 알 수 있었습니다.

Python - 시간 모듈 time [내부링크]

개발이나 , 보안 프로그래밍을 하면서 시간 데이터를 사용할 일이 종종 있을 거라 생각이들어서 글을 적었다.time 모듈에서 사용할 수 있는 함수를 확인해보았다.많은 함수들을 사용들이 있는데 여기서 time() 과 ctime(), sleep() 을 확인해보았다.time() : 1970 년 1월 1일 0시 0분 0초 기준으로 초 단위로 지난 시간을 반환ctime() : 현재 시간을 반환type(time.ctime): ctime()의 타입을 반환ctime() 를 통해 반환값의 타입은 문자열인 것을 확인할 수 있습니다.이를 응용해 내가 년도의 반환값만 출력하고 싶다. 이러면 어떻게 해야되는지 알아봤습니다.공백을 기준으로 나누고, 문자열 중 맨마지막에 존재하는 원소를 출력하게 했습니.......

Python - OS 모듈 [내부링크]

운영체제에서 제공되는 여러 기능을 파이썬에서 수행할 수 있게 해주는 모듈이 os모듈입니다.예를들어, 파이썬을 통해 디렉터리 및 파일들을 읽거나, 생성, 리스트 확인 등 다양한 기능들을 제공합니다.os 모듈에서 사용할 수 있는 함수를 확인해보겠습니다.이 중 몇가지만 확인해봤습니다.os.getcwd() : 현재 경로를 반환os.listdir() : 인자로 받은 경로에 대한 디렉터리 및 파일의 목록을 반환합니다. 공백으로 할 경우 현재 위치에서의 리스트들을 반환합니다.응용을 해보면, len함수를 사용하여 특정경로에 대한 파일 및 디렉터리 개수를 파악할 수 있습니다.또는, 특정 확장자 파일을 찾을 때 endswith() 를 사용할 수 있습니다.

Python - COM(Component Object Model) 객체 [내부링크]

참고https://m.blog.naver.com/PostView.nhn?blogId&#x3D;new27kr&#38;logNo&#x3D;221020428184&#38;proxyReferer&#x3D;https:%2F%2Fwww.google.com%2Fhttps://wikidocs.net/2888COM(Component Object Model) 객체를 사용하여 프로그램을 개발하는 모델을 의미합니다.많은 API 들이 존재하겠지만 이 API들이 파이썬이 아닌 다른 언어로 구현되어 있다면 파이썬으로 구현할 수가 없을 것입니다.그러나 COM을 이용하므로서 다른언어로 개발된 객체도 파이썬으로 사용할 수 있습니다.win32com.client win32com 모듈은 파이썬에서 윈도우 플그램을 컨트롤 가능하게 해주는 모듈입니다.다른 프로그래밍 언어로 작성된 것을 파이썬으로 이용하기 위해.......

[백준-python] 15649번 : N과 M(1) [내부링크]

문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 예제 출력 1 예제 입력 2 예제 출력 2 예제 입력 3 예제 출력 3 p &#x3D; itertools.permtations(number.int(M)) 까지 해놓았는데,, 출력을 할 때마다 튜플형태로 출력이 되서 애를 써먹었다.다른 사.......

A9 – Using Known Vulnerable Components/ PHP CGI Remote Code Execution [내부링크]

CGI ?Common Gate Way Interface의 약어로, WWW 서버와 서버 상에서 등장하는 다른 프로그램이나 스크립트와의 인터페이스 폼을 사용한 메일의 송신이나 게임 등 HTML 에서는 불가능한 인터렉티브한 요소를 홈페이지에 받아 들여 쓸 수 있다.간단히 말하자면, HTML만 가지고는 동적인 부분을 만들 수 없다. 정적인 HTML을 동적으로 표현하기 위해 필요한 것이 CGI 이다.현재 문제의 페이지에서는 CVE-2012-1823취약점을 다루고 있다.CVE-2012-1823 ?PHP 5.4.12 이전 버저의 sapi/cgi/cgi_main.c에서 CGI 스크립트가 질의 문자열을 제대로 처리하지 못하여 발생한다. 명령어 라인 옵션을 질의 문자열에 포함하여 원격 명령을 실행할 수 있다.PHP.......

[백준-python] 10814번 : 나이순 정렬 [내부링크]

문제온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000)둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다.출력첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한.......

[백준-python] 2751번 : 수 정렬하기 2 [내부링크]

문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.예제 입력 1 예제 출력 1 해당 문제를 맞추기 전에 단순히 input과 output으로 풀 수 있을 줄 알았다. 디버깅했을 때는 알맞은 출력을 값을 출력하는 것을 확인할 수 있었다.하지만 계속 시간초과가 뜨는 것이 문제였다. 그래서 문제를 잘못읽었나해서, 다시 읽어보니 절대값이 마음에 걸려.......

[보안] - 백도어 BackDoor [내부링크]

백도어 ?· backdoor &#x3D; 뒷 문 · 정상적인 인증과정을 거치지 않고 운영체제나 프로그램에 접근할 수 있게 해줍니다.· 해킹을 하고 다음에 침입하기 위한 비밀통로라고도 합니다.개발자와 공격자백도어가 무조건 악의적인 의도라고도 볼 수는 없습니다. 예를들어 개발자들이 이불러 백도어를 만들어 놓기도 합니다.-&#62; 바로 개발 과정에서 테스트과정 및 인증과정에서의 시간을 단축하기 위함입니다. 이렇게 개발자들이 만들어 놓은 백도어는 개발을 완료하고 나서 백도어를 삭제를 해야 되지만, 깜빡해서 삭제를 안하거나, 결함이 생겨 삭제가 안 될수도, 또는 유지보수를 위해 남겨놓기도 합니다. 이는 사용자들에게는 치명적인취약.......

[백준-python] 2747번 : 피보나치 수2 [내부링크]

문제피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.이를 식으로 써보면 Fn &#x3D; Fn-1 + Fn-2 (n&#62;&#x3D;2)가 된다.n&#x3D;17일때 까지 피보나치 수를 써보면 다음과 같다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 n이 주어진다. n은 90보다 작거나 같은 자연수이다.출력첫째 줄에 n번째 피보나치 수를 출력한다.예제 입력 1 예제 출력 1

[백준-python] 1427번 : 소트인사이드 [내부링크]

문제배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.입력첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.출력첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.예제 입력 1 예제 출력 1

[백준-python] 1181번 : 단어 정렬 [내부링크]

문제알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.길이가 짧은 것부터길이가 같으면 사전 순으로입력첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.출력조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다.예제 입력 1 예제 출력 1 내가 한 방법은 워낙 소스코드가 길게 나오고 복잡하게 되어 있다. 다른 사람들이 한 것을 보았는데, sort()함수를 사용 할 경우 앞의 있는 리스트를 먼.......

[백준-python] 1929번 : 소수 구하기 [내부링크]

문제M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.입력첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.출력한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.위 문제는 1부터 k까지 다 나눠봐도 되지만, 시간을 줄이기 위해 k의 제곱근까지 확인하면 된다. 2부터 k의 제곱근까지 확인한다. 만약 나누어떨어진다면 그 숫자는 소수가 아니다. 나누어 떨어진다는 것은 다른 약수를 가진다는 뜻.

[백준-python] 4948번 : 베르트랑 공준 [내부링크]

문제베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다.이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다.예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23)n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하며, 한 줄로 이루어져 있다. (n ≤ 123456)입력의 마지막에는 0이 주어진다.출력각 테.......

[백준-python] 2798번 : 블랙잭 [내부링크]

문제카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다.한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다.김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다.이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대.......

[백준-python] 2231번 : 분해합 [내부링크]

문제어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(&#x3D;245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.입력첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.출력첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.매우 단순하게 값을 계속 더하는 식을 이용하였다. 문자열을 i.......

Kali Linux - Virus Total [내부링크]

Kali Linux에서 virustotal 기능을 사용해봤습니다.virustotal 이란?무료로 파일 검사를 제공하는 웹사이트입니다.보통 악성코드를 가지고 있는 파일들을 검사하여 이 파일이 악성파일인지 ,아닌지를 많은 백신들이 검사를 합니다.1. msf-virustotal 을 치시면 다음과 같이 실행이되고 API key를 얻게 됩니다.2. virustotal를 효과적으로 사용하기 위해 옵션 -h(help)를 사용하여 확인을 해보면 [보기 2-1] 을 확인할 수 있습니다. 3. 필자는 외계인 책에 있던 실습파일을 사용하여 사용해봤습니다.msf-virustotal -f &#60;업로드할 파일&#62;4. 72개의 백신에서 54개의 백신이 악성코드를 탐지한 것을 확인할 수 있습니다.

[백준-python] 7568번 : 덩치 [내부링크]

문제우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x&#62;p 그리고 y&#62;q 이라면 우리는 A의 덩치가 B의 덩치보다 &#34;더 크다&#34;고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55,173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, &#34;덩치.......

[백준-python] 1436번 : 영화감독 숌 [내부링크]

문제666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다.하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다.종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종.......

[백준-python] 2750번 : 수 정렬하기 [내부링크]

문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.예제 입력 1 예제 출력 1

Python - 클래스(class) [내부링크]

1. 클래스(class)와 객체(object)클래스란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 도면을 말한다.객체란 클래스로 만든 피조물을 말한다.클래스로 만든 객체는 각각의 고유한 성격을 가진다.여기서 Cookie() 결과값을 돌려받은 a,b가 객체이다.1.2 클래스 구조만들기a &#x3D; FourCal: 처럼 객체를 만들 수 있게 했다. 일단은 아무 기능이없다.1.3 객체에 숫자 지정할 수 있게 만들기사칙연산을 하기 위해 숫자를 알려줘야 한다.여기 알아야 할점은, 클래스안에 구현된 함수는 다른 말로 메서드(Method)라고 부른다.메서드의 첫 번째 매개 변수 self 를 명시적으로 구현하는 것은 파이썬만의 독특한 특징이다.연산을 수행할 (4,2)를.......

Python - 모듈 [내부링크]

모듈모듈이란 함수나 변수 또는 클래스를 모아 놓은 파일입니다. 여기서 모듈은 다른사람의 파일을 사용할 수도 있고, 내가 만들어서 사용할 수도 있습니다.1. 모듈 만들기필자는 add(a,b) 와 sub(a,b) 함수만 있는 hello.py를 C:\Python 위치에 저장했습니다.파일을 불러오기 위해서 , Virtual Studio Code의 터미널 창에 hello.py 파일의 위치로 가기위해 cd C:\Python을 해줍니다.hello.py를 불러주기 위해서, Python을 해줍니다.그 후, import hello 해줍니다. 뒤에 .py를 안붙혀주도록합니다.hello.py파일에 있는 함수를 사용하기 위해서 print(hello,add(4,3))을 해줍니다import 사용방법입니다. 여기서 모듈이름은 확장자를 제외한 이.......

Python - 패키지(Package) [내부링크]

1. 패키지란 무엇인가패키지(Package)는 도트(.) 를 사용하여 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해줍니다.예를들어 A.B 가 있다고 가정을 하면 A는 패키지이름이 되고, B는 A패키지의 모듈이 됩니다.여러사람이 공동작업이나 유지보수 등 여러면에서 유리할 수 있습니다. 또한 패키지 구조로 모듈을 만들면 다른 모듈과 이름이 겹치더라도 안전하게 사용할 수 있습니다.2. 패키지 만들기패키지를 만들기 위해 서버 디렉터리를 만들어줍니다.일단은 ehco.py 파일과 render.py파일에만 소스를 작성했습니다.그리고, game 패키지를 참조할 수 있도록 set명령어로 환경변수에 디렉터리를 추가해줍니다.다음은 패키지 안의.......

Python - 내장함수, 외장함수 [내부링크]

내장함수와 외장함수의 정보는 너무 많아 링크를 걸어놨습니다.https://docs.python.org/ko/3/library/functions.htmlhttps://wikidocs.net/32https://wikidocs.net/33

Python - 예외처리(try,except) [내부링크]

파이썬으로 코딩을 하다보면 수 없이 많은 오류가 발생한다. 하지만 이를 무시하고 사용하고 싶을 때가 생긴다.예를들어, 포트스캐너를 제작할 때 &#34;포트가 닫혀 있다&#34;는 것을 출력하고 싶지만 오류가 발생하여 출력이 발생이 생기지 않을 때가 있다. 이럴 때 try,except를 사용하여 오류메시지를 다른 메시지로 대체하거나, 무시할 수 있다.1. 코딩을 하다보면 여러가지 오류메시지를 확인할 수 있지만 그중 대표적인 3가지를 확인해보았다.첫번째는 파일이 없을때 생기는 오류메시지 &#34;FileNotFoundError&#34; 이다.두 번째는 ZeroDivisionError 입니다.세 번째는 변수에 저장된 인덱스에 없는 값을 불러와서 IndexError.......

[백준-python] 1157번 : 단어공부 [내부링크]

문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

Python - 사용자 입력과 출력 [내부링크]

사용자가 입력한 값을 변수에 대입하는 방법1. input()input 함수는 입력되는 모든 것을 문자열로 취급합니다.2. printprint문은 자료형을 출력하는 것입니다.2.1 큰따옴표(&#34;)로 둘러싸인 문자열은 + 연산과 동일하다.2.2 문자열 띄어쓰기는 콤마로 한다.2.3 한 줄에 결과값 출력하기

Python - 파일 읽고 쓰기 [내부링크]

1. 파일 생성하기 open 함수는 기본구조 1-1와 같이 &#x27;파일 이름&#x27;과 &#x27;파일 열기 모드&#x27;를 입력값으로 받고 결과값으로 파일 객체를 돌려준다.예제 1-1을 실행하면 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된 것을 확인할 수 있다.[표 1-1].close() : 열려 있는 파일 객체를 닫아주는 역할을 한다.2. 파일을 쓰기 모드로 열어 출력값 적기프로그램의 출력값을 파일에 저장하게 한다.[보기 2-1]은 예제 2-1의 결과로 파일에 결과값이 저장된 것입니다.3. 프로그램의 외부에 저장된 파일을 읽는 여러가지 방법readline() : 한 줄씩 읽는다.readines() : 모든 줄을 읽는다.read() : 파일의 내용 전체를 문자열.......

Python - 조건식 (if) [내부링크]

1. if문의 기본 구조if문의 필수조건1. if문 조건문: 을 쓸경우 ( : ) 콜론은 필수이다.2. 수행할 구문은 반드시 들여쓰기 해야한다.2. x in s, x not in s3. 다양한 조건을 판단하는 elifif 와 else 만으로 문장을 표현하기 힘들경우 사용한다.4. 조건부 표현식코드를 간략화 및 간단하게 표현하기 위한 표현식이다.예제 4-1을 한줄로 간단히 표현하면 예제 4-2가 된다.조건부 표현식의 기본 구조는 기본법 1-1 처럼 표현된다.

Python - 반복문(while) [내부링크]

1. while문의 기본구조반복해서 문장을 수행해야 할 경우 while문을 사용한다.while문은 조건문이 참인 동안에 while문 아래의 문장이 반복해서 수행한다.break : while 문 강제로 빠져나간다.True : 항상 참2. while문의 맨 처음으로 돌아가기while문 내에서 조건이 맞지 않다면 while문을 빠져나가게 된다. 하지만 while문을 빠져나가지 않고 while문의 맨 처음으로 돌아가게 만들고 싶은 경우 continue문을 사용한다.

Python - 반복문(for) [내부링크]

1. for문의 기본구조리스트나 튜플, 문자열의 첫 번째 요소 부터 마지막 요소까지 차례로 변수에 대입되어 수행할문자 수행한다.전형적인 for문 을 예제 1-1에서 확인해볼 수 있다.예제 1-2은 튜플을 사용한 for문 구조이다.a 의 요솟값이 튜플이기 때문에 각각의 요소가 자동으로 (first,last) 변수에 대입된다.예제 1-3은 for문의 응용 구조이다.marks에서 차례로 점수를 꺼내어 mark라는 변수에 대입이 된다.3. for문과 함께 자주 사용하는 range 함수range 함수는 객체를 만들어준다. 이때 끝 숫자는 포함되지 않는다.len함수의 경우 리스트 안의 요소개수를 나타낸다. 지금 marks의 요소개수는 5개이므로 range(5)가 될것이다.range(5)는 곧.......

Python - 함수 [내부링크]

1. 파이썬 함수의 구조def는 함수를 만들 때 사용하는 예약어이며, 함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다.함수 이름 뒤 괄호 안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다.2. 매개변수 와 인수매개변수 : 함수에 입력으로 전달된 값을 받는 변수인수 : 함수를 호출 할 때 전달하는 입력값3. 입력값과 결과값에 따른 함수의 형태함수의 결과값은 오직 return 명령어로만 돌려받을 수 있다.4. 입력값이 몇 개일지 모를 경우기본 구조 4-1 처럼 인수가 많은 경우 이를 한번에 더해주기 위해 ( * ) 를 사용한다.*args 는 55를 입력 받게 되고 i는 55를 저장하게 되여 result값이 55가된다.5. 키워드 파라미터.......

Python - 딕셔너리 관련 함수 [내부링크]

1. Key 리스트 만들기(keys)a.keys() : a의 Key만을 모아서 dict_keys 객체를 돌려준다.dict.keys 객체는 예제 1-2와 같이 표현할 수 있다. 하지만 고육의 append, insert, pop, remove, sort함수는 사용할 수 없다.dict_keys 객체를 예제 1-3과 같이 리스트형식으로 만들 수 있다.2. Value 리스트 만들기(values)3. key, value의 값을 쌍으로 얻기(Items)a.items() : items 함수는 key와 value 의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려줍니다. 4. key: value 쌍 모두 지우기(clear)5. key로 value 얻기(get)a.get(&#x27;Last name&#x27;) 함수는 a[&#x27;Last name&#x27;] 와 같은 결과를 돌려받는다.다만 , 없는 key값을 입력했.......

Python - 리스트 관련함수 [내부링크]

1.del 함수 del 함수는 파이썬이 자제적으로 가지고 있는 삭제 함수입니다.del a[x] 는 x번째 요솟값을 삭제합니다.del a[2:] : a[2]~ 끝 배열까지 삭제합니다. 2. 리스트에 요소 추가(append).append(x) : 리스트의 맨마지막에 x를 추가합니다.1. a.append(6) : 리스트 마지막에 6을 추가합니다.2. a.append([5,6] : 리스트 마지막에 [5,6] 리스트를 추가합니다.3. 리스트 정렬(sort).sort() : 리스트의 요소를 순서대로 정렬해줍니다.4. 리스트 뒤집기(reverse).reverse() : 리스트를 역순으로 뒤집어 줍니다. 정렬한다음에 역순으로 하는 것이 아니라, 본래의 리스트를 역순으로 뒤집습니다.5. 위치 반환(index).index(x) : 리스트에 x값.......

Python - 튜플 자료형 [내부링크]

튜플은 몇 가지점을 제외한 리스트와 매우 유사합니다. 다른 점은 [보기 1-1] 와 같습니다.튜플을 자세히 설명하기 위해 예제 1-1에 설명했습니다.에제 1-1 에서 볼 수 있듯이,a1 의 경우 요소 1개만을 가지경우 요소 뒤에 콤마( , ) 를 반드시 붙여야 합니다.a3 와 같이 괄호를 생략해도 무방합니다.튜플의 특징튜플의 가장 큰 특징은 바꿀 수 없다는 것입니다.앞써 말했듯이, 리스트는 변경 및 수정 삭제가 가능했지만 튜플을 요솟값을 지우거나 변경이 불가합니다.자신이 프로그램을 실행하는 동안 특정 값이 항상 변하지 않기를 바란다면 튜플을 사용해야 한다.이러한 튜플의 특징을 제외하고는 리스트와 동일하다.

Python - 딕셔너리 자료형 [내부링크]

딕셔너리란 리스트와 튜플처럼 순차적으로 요솟값을 찾는 것이 아닌, key 값을 통해 Value 값을 찾는 것이다.딕셔너리는 중괄호(&#34;{}&#34;) 를 사용한다.중괄호는 key,Value 둘러싸서 표현하며 쉼표( , ) 를 통해 구분한다.dic &#x3D; { KEY , VALUE}1. 기본 딕셔너리 형태여기서 KEY &#x3D; &#34;kim&#34; , VALUE &#x3D; &#x27;hi&#x27; 가 된다.key를 통해 값을 불러올 수 있다.예시 1-2와 같이 값에 리스트 값을 넣을 수 있다.2. 딕셔너리 쌍 추가, 삭제예제 2-1와 같이 추가 할 수 있다. 결과에서 알 수 있듯이 리스트와 튜플의 순서대로 요솟값을 불러오는 것과 다르다는 것을 알 수 있다.3. 딕셔너리 요소 제거하기del a[K.......

Python - 여러 줄인 문자열을 변수에 대입 [내부링크]

예제 1-1를 두 줄로 표현하고 싶을 경우를 2가지로 해봤습니다.1. 줄을 바꾸는 이스케이프 코드 &#x27;\n&#x27; 삽입하기.2. 연속된 작은따옴표 3개(&#x27;&#x27;&#x27;) 또는 큰따옴표 3개(&#34;&#34;&#34;) 사용하는 방법입니다.

Python - 이스케이프 코드 [내부링크]

이스케이프 코드란 프로그래밍할 때 사요알 수 있도록 미리 정의해 둔 &#x27;문자 조합&#x27; 이다.

Python - 문자열 슬라이싱 [내부링크]

문자열 슬라이싱이란, 문자만을 뽑는 것이 아니라, 원하는 문자열을 뽑을 수 있게 해준다.예제 1-1에서 볼 수 있듯이 슬라이싱 기법은 예를들어 a[0:4]가 있으면 배열의 첫 번째[0]부터 다섯 번째[4]까지 지정한다는 것이다.즉, a[시작 번호: 끝 번호]를 뜻하는데 여기서 끝 번호는 포함되지 않는다.a[:5]와 같이 시작 번호를 생략할 경우 문자열의 처음부터 끝 번호까지 뽑아낸다.a[5:]와 같이 끝 번호를 생략할 경우 시작번호부터 끝 번호까지 뽑아낸다.

Python - 포매팅 연산자 %d와 퍼센트(%)를 표현하고 싶을 때 [내부링크]

문자열에 퍼센터(%)를 붙혀서 출력하고 싶을 경우가 생긴다. 그럴 경우 뒤에다가 &#34;%%&#34; 붙여준다.

Python - format 함수를 사용한 포매팅 [내부링크]

변수에다가 값을 입력하고 출력문에 퍼센트(%)를 붙혀서 변수를 대입하는 방법도 있지만, .fomat() 함수를 이용하여 대입하는 방법이 있다.1. format 함수를 통해 숫자를 바로대입하여 {0} 부분을 3으로 바뀌었다. 2. 변수에 값을 저장하고, format() 함수를 통해 숫자 값을 가진 변수로 대입하였다.3. 변수에 값을 저장하였지만, format() 함수의 변수값을 수정 후 대입하였다.

Python - 문자열 관련함수 [내부링크]

문자열 자료형은 자체적으로 함수를 가지고 있습니다. 이들 함수르 다른 말로 문자열 내장 함수라고 합니다.내장 함수를 사용하기 위해서는 변수뒤에 &#34; . &#34;을 붙이고 다음에 함수이름을 써주면 됩니다.count() 는 문자열의 개수를 알려주는 함수이다.find() 는 문자열에서 지정한 문자의 위치를 알려준다. 문자열에 찾는 문자열이 없을 경우 -1 을 반환한다.join() 은 각각의 문자사이에 &#34; , &#34; 를 삽입한다.index()는 문자열에서 지정한 문자의 위치를 알려준다. 찾는 문자가 없을 경우 오류가 발생한다.

Python - 대 · 소문자 바꾸기(upper, lower) [내부링크]

upper()는 소문자를 대문자로 바꾸어주다.lower()는 대문자를 소문자로 바꾸어준다.

Python - 공백 지우기(strip()) [내부링크]

문자열중 공백을 지우고자 할 때 사용하는 함수가 strip()이다.rstrip() : 오른쪽의 공백을 지웁니다.lstrip() : 왼쪽의 공백을 지웁니다.strip() : 양쪽 공백을 지웁니다.

Python - 문자열 바꾸기(replace, split) [내부링크]

문자열의 위치를 바꾸기 위해 replace()를 사용합니다.replace(바뀌게 될 문자열, 바꿀 문자열)문자열을 나눠주기 위해서 split()를 사용합니다.1. a.split() 을 통해 공백을 기준으로 문자열을 나누어 리스트에 들어가게 된다.2. b.split(&#x27;:&#x27;) 처럼 특정 값을 기준으로 나눌 경우 작은따옴표나 큰따옴표로 문자열로 기준을 잡고 기준대상으로 나누어 리스트에 들어가게 된다.

2020 Kali Linux release [내부링크]

2020.1.28일 Kali Linux가 release 되었습니다.확인을 해보면 지난 해까지 해오던 기본사용자가 root가 아닌것입니다.[보기 1]처럼 root/toor 의 기본정책이 사라지고, kali,kali로 로그인을 해야 됩니다.콘솔을 열어서 확인을 해보시면, kali@kali:~$ 인것을 확인할 수 있습니다.메타스플로잇을 초기화하기 위해 msfdb init을 해주면 root 권한으로 하라고 합니다.sudo msfd init 을 하면 되는 것을 확인할 수 있는데, root 권한이 사용될 때마다 sudo를 붙혀서 사용해야 합니다.다른 방법이라고 하면 sudo su를 입력하고 사용하시면 될 듯합니다. 그 다음으로는, 이미지파일을 자신이 원하는 것만 다운로드 받을 수 있게 해놓은 것 같습니다.......

Python - 문자열 안에 작은따옴표, 큰따옴표를 포함하고 싶을 때 [내부링크]

작은따옴표(&#x27; ), 큰따옴표(&#34; ) 문자열에 포함시켜 출력하고 싶은 경우를 3가지로 표현해보았다.1. 문자열내에 작은따옴표( &#x27; )를 표현하고 싶을 경우 큰따옴표( &#34; )로 둘러싸준다.2. 문자열에 큰따옴표( &#34; ) 포함시키는 방법이다. 3. 백슬래시(\)를 사용해서 작은따옴표( &#x27; )와 큰따옴표( &#34; )를 문자열에 포함시키는 방법이다.작은따옴표와 큰따옴표 앞에 백슬래시( \ )를 포함시키면 특수문자의 의미가 아니라, 문자 그자체를 의미하게된다.

jQuery - 제이쿼리 기본, 제이쿼리 다운로드 [내부링크]

1. 제이쿼리란 ?· 제이쿼리란 자바스크립트를 이용해 만든 라이브러리 언어입니다. · 라이브러리 언어란 자바스크립트로 만들어진 다양한 함수들의 집합을 가리킵니다.2. 제이쿼리 라이브러리 연동하기제이쿼리 연동방법에는 다운로드(Download), 네트워크 전송(CDN, Content Network) 방식이 있습니다.2.1 다운로드 방식제이쿼리 라이브러리를 제공하는 사이트에서 제이쿼리 라이브러리 파일을직접 내려받아 HTML에 불러오는 방식입니다.2.2 네트워크 전송 방식온라인에서 제공하는 제이쿼리 라이브러리 파일을 네트워크를 통해 HTML에 불러오는 방식입니다.2.3 차이점다운로드 방식은 컴퓨터에 라이브러리를 파일을 내려받아 놓으면, 네.......

Java Script - 객체 [내부링크]

1 객체란 ?자바스크립트는 객체(Object) 기반 언어입니다. 객체는 기능과 속성을 가지고 있습니다.예를 들어, TV에는 켜다, 끄다, 음을 소거하다, 볼륨을 높이다, 볼륨을 낮추다 등의 기능이 있습니다. 이러한 기능들을 메서드(Method)라고 불립니다. 그리고 TV에는 크기, 색상 그리고 무게 등을 속성이라고 할 수 있습니다.1. 객체.메서드(); : 객체의 메서드를 실행합니다.2. 객체.속성; : 객체의 속성값을 가져옵니다.3. 객체.속성&#x3D;값; : 객체의 속성값을 바꿉니다.2 객체의 종류자바스크립트의 객체는 크게 내장 객체, 브라우저 객체 모델(BOM, Browser Object Model), 문서 객체 모델(DOM, Document Object Model)로 나눌 수 있습니.......

Java Script - 내장 객체 [내부링크]

1. 내장 객체 생성하기기본형 1-1은 내장 객체를 생성하는 기본형입니다. 객체를 생성할 때 new라는 키워드와 생성 함수를 사용합니다.소스 1-1에서는 new 키워드와 기본 객체 생성 함수 Object()를 이용해 객체를 생성합니다.생성된 객체는 변수 tv가 참조하고 있으며, 이를 이용해 객체의 속성과 메서드를 생성합니다. 변수를 이용해 참조를 한다는 말은 앞으로 생성된 객체를 이용할 때 참조 변수를 사용하겠다는 의미입니다.tv.info 와 car.info 가 실행되어 그림1-1 처럼 화면에 출력됩니다.2. 날짜 정보 객체날짜나 시간 관련 정보를 제공받고 싶을 때는 날짜 객체(Date Object)를 생성합니다.기본형 1-2은 날짜정보를 제공하는 기본형입니.......

Java Script - 브라우저 객체 모델 [내부링크]

1. 브라우저 객체란?브라우저에 내장된 객체를 &#x27;브라우저 객체&#x27;라고 합니다. window는 브라우저 객체의 최상위 객체이며, window 객체에는 하위 객체가 포함되어 있습니다. 계층적 구조로 이루어져 있으며, 이를 브라우저 객체 모델(BOM,Browser Object Model) 이라고 합니다.그림1-1은 브라우저 객체의 계층적 구조 입니다.2. window 객체window 객체는 브라우저 객체중 최상위 객체입니다. 표2-1와 같은 메서드를 가집니다.표2-12.1 open()메서드 이용해 팝업 창 나타내기open() 메서드를 이용하면 지정한 URL 페이지를 새 브라우저 창에 나타낼 수 있습니다. 기본형2-1 은 open() 메서드의 기본형입니다.소스2-1 은 open() 메서.......

Java Script - 함수 [내부링크]

1. 함수란?한 마디로 프로그램의 코드를 저장한 공간이라고 할 수 있습니다.· 자바스크립트 코드를 저장합니다.· function 이라는 키워드를 이용하여 선언합니다.· 출력문, 제어문 등의 코드를 저장하고 데이터를 반환합니다.2. 기본 함수 정의문함수를 사용하여 코드를 저장한 것을 &#x27;함수 정의문&#x27;이라고 합니다. 변수를 선언 할 때 var 키워드를 사용한 것처럼 함수에서는 function 키워드를 사용해 함수를 선언합니다. 함수의 기본형은 기본형2-1과 같습니다.기본형2-2와 같이 함수명이 없는 함수를 선언하고 변수에 참조해도 됩니다.기본형2-3은 함수를 호출하는 기본형입니다.소스2-1은 정의되어 있는 함수를 호출하는 예제입니.......

Java Script - 함수(return) [내부링크]

return· 함수에서 결과값을 반환할 때 사용합니다· 함수에서 return 문이 실행되면 반복문의 break 문과 비슷하게 코드가 강제로 종료됩니다.1. 데이터를 반환하고 강제 종료하는 return 문기본형 1-1은 return문의 기본형입니다.1. var 변수&#x3D;함수명(); 을 통해 함수호출을 합니다.2. 함수코드를 실행합니다.3. 자바스크립트 코드2를 무시하고 데이터를 반환합니다. var 변수 &#x3D; 반환한 데이터소스 1-1 은 return문을 활용한 예제입니다.1. sum(10,20); 을 통해 함수호출을 합니다.2. 함수코드가 실행이 되고, 10+20이 실행됩니다.3. 결과값 30이 반환되어 var result &#x3D;30; 이 됩니다.2. 재귀 함수 호출함수 정의문 내에서.......

Java Script - 함수(함수 스코프 개념 이해) [내부링크]

1. 함수 스코프란?스코프의 사전적 의미는 &#x27;범위&#x27;입니다. 여기에서는 변수 또는 함수의 유효 범위를 가리킵니다.2. 전역 변수와 지역 변수의 개념과 차이기본형 2-1은 전역 변수와 지역 변수의 기본형입니다.소스 2-1은 지역 변수와 전역 변수의 차이점을 보기위한 예제입니다. 함수 스코프에서 선언한 변수는 지역 변수이며 함수 안에서만 사용할 수 있습니다. 따라서 함수 스코프의 score 값은 50이 되고, 함수 스코프 밖에서의 값은 10입니다.3. 전역 변수와 지역 함수의 차이전역 함수는 자바스크립트 어디에서든 사용할 수 있고, 지역 함수는 함수 스코프에서만 사용할 수 있는 함수입니다.기본형 3-1 은 전역함수와 지역함수.......

Java Script - 함수(객체 생성자 함수의 활용) [내부링크]

1. 객체 생성자 함수내장 객체를 생성할 때는 이미 자바스크립트 엔진에 내장되어 있는 객체 생성자 함수를 사용하여 객체를 생성합니다.new 키워드를 사용해 객체를 생성하고 객체 생성자 함수에서 this 키워드를 사용해 생성한 객체에 속성과 함수를 등록합니다.기본형 1-1 은 객체 생성자 함수를 선언하고 객체를 생성하는 기본형입니다.소스 1-1은 객체생성자 함수를 설명하기 위한 예제입니다.jang.getInfo() 함수는 객체의 속성 정보를 반환합니다.jang.getResult() 함수는 몸무게의 정상인지 아닌지의 판별한 후 결과를 출력합니다.

Java Script - 함수(자바스크립트 내장 함수) [내부링크]

1. 내장 함수내장 함수란 자바스크립트 엔진에 내장된 함수를 말합니다. 내장함수는 개발자가 함수를 직접 선언하지 않아도 됩니다. 즉 자바스크립트에 이미 내장된 함수는 바로 호출할 수 있습니다.

A9 – Using Known Vulnerable Components (알려진 취약점이 있는 컴포넌트 사용) [내부링크]

A9 – Using Known Vulnerable Components (알려진 취약점이 있는 컴포넌트 사용)컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈은 대부분 항상 전체 권한으로 실행된다. 이러한 취약한 컴포넌트를 악용하여 공격하는 경우 심각한 데이터 손실이 발생하거나 서버가 장악된다. 알려진 취약점이 있는 컴포넌트를 사용하는 애플리케이션은 애플리케이션 방어 체계를 손상하거나, 공격 가능한 범위를 활성화하는 등의 영향을 미친다.알려진 취약점 확인 방법취약한지 결정하기 위해서는 프로젝트 메일링 리스트, 취약점과 관련된 발표내용을 잘 파악하고 있어야 한다.만일, 사용중인 컴포넌트중 취약한 부분이 있을 경우, 사용하고 있.......

모의해킹 보고서 작성 팁 [내부링크]

1. 삽입한 그림의 내용은 모두 설명이 될것고객이 보고서를 봤을 때, 질문할 것이 없게 만들어진 것이 잘만들어진 것!세세한 부분까지 작성, 결과만 보여주게 되면 고객입장에서 계속 의문을 가지게 되고 질문을 가져오게 된다.2. 목차, 캡션, 상호참조만 적용해도 반절은 성공chapter 33.1 iframe 인젝션3.1.1 난이도 하그림 3-1 PHP CGI 명령어 옵션3. 보고서 양식, 아이콘 등 통일성을 지키자4. 한글 표기를 하면 가독성이 높아진다예) &#34;주소&#34; 라고 해도되는데 일부러 영어로 Address 로 표기 -&#62; 가독성이 떨어진다.

Java Script - 자바스크립트 선언문 [내부링크]

1. 자바스크립트 선언문선언문은 자바스크립트 코드를 작성할 영역을 선언하는 것이라고 이해하면 됩니다.&#60;script&#62;&#60;/script&#62;선언문은 &#60;head&#62;&#60;body&#62; 태크영역에 사용하면 되지만, 보통 &#60;head&#62; 영역에 많이 태그한다.2. 자바스크립트 주석 처리한줄 주석일 경우 : //여러줄 주석을 사용할 경우 /*3. 내부 스크립트 외부로 분리하기자바스크립트 소스를 분리하므로서, 소스 찾기도 쉬울 뿐만 아니라 누군가가 소스를 손상시킬 염려도 없습니다. 즉, 외부로 분리하는 주된 목적은 프로젝트 관리를 원활하게 하기위함입니다.3.1 내부 스크립트 분리하기1. 다음과 같은 코드를 따로 저장을 해줍니다.2. 새로운 파일을.......

Java Script - 변수 [내부링크]

1. 변수란?변수는 변하는 데이터를 저장할 수 있는 메모리 공간입니다.변수에는 데이터가 오직 한 개만 저장됩니다.새로운 데이터가 들어오면 기존에 있던 데이터는 메모리 공간에서 지워지게 됩니다.변수에 저장할 수 있는 데이터 종류로는 문자형(string), 숫자형(number), 논리형(boolean), 빈(null) 데이터가 있습니다.1.1 변수선언변수를 선언할 떄는 다음 기본형과 같이 var 키워드를 변수명 앞에 붙입니다.한글을 사용할 수 없으며, 영문과 숫자 그리고 일부 특수 문자( _, $ ) 만 포함할 수 있습니다.변수 box를 생성하고, box에 100이라는 값을 저장합니다.2. 변수에 저장할 수 있는 자료형변수에 저장할 수 있는 자료형으로는 문자형.......

A7 - Missing Function Level Access Control/ Server Side Request Forgery (SSRF) - XXE [내부링크]

SSRF(Server Side Request Forgery) 서버 측 요청 변조공격자가 요청을 변조하여 취약한 서버가 내부 망에 악의적인 요청을 보내게 하는 취약점이다.서버 측 요청 번조의 유형1. RFI를 사용하여 포트를 스캔2. XXE(XML External Entity)를 사용하여 내부 망 자원에 접근3. XXE(XML External Entity)를 통하여 스마트 TV를 해킹ssrf.php - sqli_8-1.php두번째 방법, XML의 외부 엔티티를 사용하여 네트워크에 있는 자원에 접근한다.XML 문서는 외부 엔티티라는 저장 단위로 구성되어 있는데, 외부 엔티티를 선언하면 다른 파일의 텍스트를 가져올 수 있습니다.&#x27;sqli_8-1.php&#x27;페이지로 가서 Any bugs? 를 눌러 Burp Suite 으로 HTTP요.......

A7 - Missing Function Level Access Control/ Server Side Request Forgery (SSRF) - Samsung TV -XXE [내부링크]

XXE(XML External Entity)를 이용하여 삼성 스마트 TV(PS50C7700) Dos 공격이다.GET 요청으로 &#x27;A&#x27; 300개를 보내어 서비스를 중단시키는 취약점이다.이는 특정 플랫폼만이 가능한 실습이므로 간단한 설명을 했습니다.https://cve.mitre.org/cgi-bin/cvename.cgi?name&#x3D;CVE-2013-4890특정 삼성(PS50C7700) TV는 TCP 5600번으로 서비스 거부를 발생시킬 수 있다.https://www.exploit-db.com/exploits/27043위의 사이트에서 소스코드를 확인을 해보면 TCP포트 5600번으로 A를 300개 보내는 것을 확인할 수 있다.이에 대한 실습 결과인 동영상을 아래에 제공했습니다.https://www.youtube.com/watch?v&#x3D;U-R2epNnUiM

코로나19로 인한 사이버 공격 [내부링크]

코로나19로 인해 자택에서 보내는 시간이 많아져, 그것을 노리는 사이버 범죄자들이 급격하게 늘어나는 것 같다.Zoom 화상회의, 피싱메일, 재난지원금문자 등..크게 7가지로 뉴스에서 말해주고 있다.1. 온라인 쇼핑2. 화상 회의3. 원격 의로 서비스4. 경기 부양을 위한 세금 환급5. 온라인 학습6. 넷플릭스 파티7. 소셜 미디어https://www.boannews.com/media/view.asp?idx&#x3D;87656

A7 -Missing Function Level Access Control/ XML External Entity Attack (XXE) [내부링크]

XXE(XML External Entity) 외부엔티티 공격· XML 인젝션으 시도하여 XML Parser(마크업 분석/ 구조화된 정보를 어플리케이션에게 전달하는 프로세서)를 통해 페이지의 내용을 내체하는 권한을 획득하는 취약점입니다.· 공격자는 XML Parser로 서버 시스템에 접근할 수 있습니다.xxe-1.phpSYSTEM 키워드를 이용하여 XML 인젝션을 하며, 시스템 내부 자원 정보를 획득합니다.HTTP 연결 요청을 버프스위트에서 가로채 &#x27;Repeater&#x27;로 보냅니다. Repeater 에서 XML 형식으로 선언된 변수 위에 XML 코드를 추가하여 강제로 외부 엔티티를 사용합니다난이도 &#x27;하&#x27;Burp Suite 을 키고 Any bugs? 를 누른 후 HTTP 요청을 가로채봅니다.......

A8 - Cross-Site Request Forgery (CSRF) [내부링크]

A8 - Cross-Site Request Forgery (CSRF)공격자에 의해 사용자가 의도하지 않은 악의적인 행위를 서버에 요청하는 취약점이다.공격자가 입력한 악의적인 스크립트 코드에 접근하면 사용자의 웹 브라우저는 스크립트 코드에서 의도한 내용을 웹 서버에 요청한다.웹 서버는 변조된 요청을 사용자의 정상적인 요청으로 판단하고 응답을 보낸다.XSS 와 CSRF 는 비슷해보이지만 다릅니다.웹 브라우저를 신뢰해서 발생하는 취약점으로, 웹 사이트는 사용자가 보낸 정상적인 요청과 변조된 요청을 구별하지 못합니다. 또한,XSS는 공격 대상이 사용자이지만, CSRF는 사용자가 공격의 매개물로 공격자를 대신하여 악의적인 요청을 웹 사이트에 요청합니.......

A8 - Cross-Site Request Forgery(CSRF)/ Change Password [내부링크]

csrf_1.php접속한 사용자의 비밀번호를 변경할 수 있는 페이지이다.CSRF 취약점을 이용한 인젝션을 실시하여 패스워드 변경을 다른 패스워드로 변경하는 내용이다.다음 문제 페이지에서 폼에 다음과 같이 입력했다.New password :bugRe-type new password : bugChange button을 누르게 되면 GET 메서드로 HTTP 요청을 하기 때문에 URL 변수가 노출되는 것을 확인할 수 있다.그 후, URL을 복사해서 메모장 같이 저장할 수 있는 곳에 저장을 해놓겠습니다.htmli_stored.php 해당 페이지로 가줍니다.여기서는 &#60;img&#62; 태그를 이용하여 CSRF 를 할 것입니다.img 태그의 경우, src 속성에 그림이 아닌 주소와 보내려는 데이터를 넣게 되면 서.......

A8 - Cross-Site Request Forgery(CSRF)/ Change Secret [내부링크]

csrf_3.phpCSRF 취약점을 이용한 인젝션을 실시하여 패스워드 힌트를 다른 힌트로 변경하는 페이지이다해당 문제 페이지의 개발자도구(F12) 를 통하여 소스를 확인을 해보면 , type이 hidden으로 정의되어 있는 것을 확인할 수있다.또한 login 변수가 노출되어 있고 변수 값이 bee인 것을 보아, login 변수는 사용자의 아이디의 변수라는 것을 추측할 수 있다.버프스위트를 통해 http 요청을 가로채서 확인해보았다.POST 메서드를 이용하여 HTTP 요청하는 것을 확인할 수 있고, 또한 login 변수가 사용자아이디 값을 받는 변수라는 것을 확신할 수 있다.또한, 폼에 입력을 안해서 빈칸으로 출력되는 secret이 폼에 대한 변수라는 것을 확인할 수.......

A8 - Cross-Site Request Forgery(CSRF)/ Transfer Amount [내부링크]

csrf_2.php계좌 이제 기능을 제공한다. 현재 계좌에 있는 돈은 1,000유로 인데, CSRF 취약점을 이용하여 계좌에 있는 돈을 수정해 보자난이도 &#x27;하&#x27;해당 페이지의 폼을 개발자 도구를 통해 소스를 확인해보았다.account 변수 - 계좌번호 , amount 변수 - 이제할 금액이 노출되어 있는 것을 확인할 수 있다.amount 변수에 마이너스 값을 넣고 해당 소스가 있는 페이지에 사용자들이 접근할 때마다 지정한 금액이 나한테 입금되게 만들면 될 것같다.일단, GET메서드를 통해 HTTP요청을 하기 때문에 URL에 변수가 노출되어 있는 것을 확인할 수 있다.URL을 복사해두었다.xss_stored_1.php 페이지로 가서 img 태그를 이용하여 작성해.......

A7 - Missing Function Level Access Control/ Server Side Request Forgery (SSRF) - RFI [내부링크]

SSRF(Server Side Request Forgery) 서버 측 요청 변조공격자가 요청을 변조하여 취약한 서버가 내부 망에 악의적인 요청을 보내게 하는 취약점이다.서버 측 요청 번조의 유형1. RFI를 사용하여 포트를 스캔2. XXE(XML External Entity)를 사용하여 내부 망 자원에 접근3. XXS(XML External Entity)를 통하여 스마트 TV를 해킹ssrf.php - rlfi.php첫번째 방법인 RFI로 비박스 섭의 포트를 스캐닝하는 방법RFI에서 사용할 PHP 코드는 비박스 가상환경에서 &#x27;/var/www/evil&#x27; 디렉터리에 있습니다.이번 페이지에서는 RFI로 비박스 섭의 포트를 스캐닝 하기 위해 rlfi.php 페이지에서 실습을 합니다.RFI에서 사용할 PHP 코드는 비박스 가.......

A7 - Missing Function Level Access Control/ Remote & Local File Inclusion (RFI/LFI) [내부링크]

File Inclustion· 악의적인 코드가 입력된 파일을 사용자가 서버에서 열람하는 공격이다.Remote &#38; Local File Inclusion (RFI/LFI) · RFI : 외부 서버에 있는 악의적인 파일을 이용하여 내부 서버에 있는 정보를 획득하는 방식· LFI : 내부 서버 자체적인 취약점을 이용하여 내부 서버에 있는 정보를 획득하는 방식rlfi.phpRFI/ LFI 취약점을 이용하여 서버안에 있는 정보를 획득한다.난이도 &#x27;하&#x27;*LFI 방식아래 사진들을 보면 language 변수가 각 select 요소 마다 변수값이 달라지는 것을 확인할 수 있다.이전 페이지에서 봤던 Directory Traversal 취약점을 이용할 수 있을 것같다.language&#x3D;../../../../etc/passwd위.......

A7 - Missing Function Level Access Control/ Restrict Device Access(디바이스 접근 제한) [내부링크]

서비스가 웹과 모바일 페이지로 구분되면서 개발할 때 웹 사용자 브라우저에서 모바일 페이지로 접근을 제한한다. 이는 보안 측면에서 보면 PC단말에서 데이터를 조작하는 행위를 방어하기 위해서다.restrict_device_access.php모바일이나 태블릿 등의 모바일 기기로 접속하여야 내용을 출력한다. 따라서 PC로 접근하면 모바일이 아니라는 경고 메시지를 출력한다.난이도 &#x27;하&#x27;User-Agent 헤더를 이용한 우회방법User-Agent : 페이지에 접속한 클라이언트의 정보(OS, 브라우저 정보 등) 를 저장하는 헤더&#x27;User Agent Switcher&#x27;는 사용자의 기기 정보를 변경하여 서버에 오쳥하는 부가 기능으로, 주로 PC에서 보이지 않.......

A6 - Sensitive Data Exposure/ Text Files (Accounts) [내부링크]

insecure_crypt_storage_2.php입력한 사용자의 계정 정보를 텍스트 파일로 웹 서버에 저장하고 사용자가 계정 정보가 저장된 파일을 다운로드하는 기능을 제공한다.난이도 &#x27;하&#x27;아래와 같이 로그인에 성공을 하면 Download 링크, Delete 링크가 출력되는 것을 확인할 수 있다.Download 링크를 클릭하여 다음 페이지에 이동을 하게되면 아래와 같이 사용자의 정보가 그대로 노출되는 것을 확이날 수 있다.난이도 &#x27;중&#x27;똑같은 방법으로 로그인을 하면 된다.이번에는 password 부분이 암호화 된 것을 확인할 수 있다. 위의 암호화된 값을 복호화 해보았다.https://crackstation.net/위와 같이 SHA-1 해시함수로 암호화하고 복.......

A7 - Missing Function Level Access Control (기능 수준의 접근 통제 누락) [내부링크]

Missing Function Level Access Control (기능 수준의 접근 통제 누락)Missing Function Level Access Control (기능 수준의 접근 통제 누락) 은 2013년 기준 OWASP 기준 TOP10의 A7로 되어 있다. 2017년 OWASP 발표한 자료에 따르면 Insecure Direct Object References(객체직접참조) 와 통합이되어 TOP10의 A4이다.대부분의 웹 애플리케이션은 UI에 해당 기능을 보이게 하기 전에 기능 수준의 접근권한을 확인한다. 그러나, 애플리케이션은 각 기능에 접근하는 서버에 동일한 접근통제 검사를 수행한다. 요청에 대해 적절히 확인하지 않을 경우 공격자는 적절한 권한 없이 기능에 접근하기 위한 요청을 위조할 수 있다.대표적으로 파일 다운.......

A7 - Missing Function Level Access Control/ Directory Traversal - Directories [내부링크]

경로 탐색 취약점(Directory Traversal)파일 다운로드 취약점과 같은 뜻으로 사용한다.경로 탐색 취약점으로 불리는 이유는 상대경로나 기본으로 설정된 파일명, 디레터리명을 통하여 관리자가 접근을 허용하지 않은 디렉터리나 파일에 접근하기 때문이다. 경로 탐색 취약점이 있는 경우 공격자는 시스템과 데이터 베이스의 정보를 수집할 수 있다. directory_traversal_2.phpHTTP 연결 요청에 GET 메소드를 사용하기 때문에 URL에 변수를 노출한다.디렉터리 난이도&#x27;하&#x27;문제의 페이지를 들어가기 전에 beebox 에서 어떻게 Directory Traversal 이 적용되는 것인지 보겠습니다./var/www/bWAPP$ cd ../../ 를 해주면 하위경로 밑에 하.......

A7 - Missing Function Level Access Control/ Directory Traversal - Files [내부링크]

https://blog.naver.com/ster098/221914802924 - 이전 실습 이번 페이지에서는 directory 변수로 접근하지 못했던 passwd 경로에 접근을 해보겠습니다. directory_traversal_1.php경로 탐색 취약점으로 시스템의 파일을 확인한다.이전 페이지에서는 directory 변수로 URL에 노출하고 있었다. 하지만 현제 문제 페이지에서는 page 라는 변수가 노출되고 있는 것을 확인할 수 있다.directory 변수로는 접근하지 못했던 passwd 경로로 접근해보았습니다.정상적으로 출력되고 있는 것을 확인할 수 있습니다. passwd 는 비박스 서버에 접근할 수 있는 아이디와 접근 권한 등을 기록한 파일입니다.이 점을 보아 파일이 저장된 디렉터리와 파일명을 정확.......

Insecure DOR (Reset Secret) [내부링크]

insecure_direct_object_ref_3.php접속한 사용자의 비밀번호 힌트를 &#x27;Any bugs?&#x27;로 초기화하는 기능을 제공한다.난이도 하다음과 같은 화면이 주어진다.&#x27;Any bugs?&#x27; button을 누르면 아무런 반응이 없는 것을 알수 있다.개발자 도구(F12)를 통해 소스를 확인해보았다.&#x27;Any bugs?&#x27;에 대한 소스를 확인해보면 ResetSecret() 함수를 호출하는 것을 확인할 수 있다.Ctrl+F 기능을 통해 ResetSecret()함수를 찾아보면 무슨 역할을 하는지 파악할 수 있었다.빨간 박스가 의심이 간다.&#60;reset&#62;&#60;login&#62;bee&#60;/login&#62;&#60;secret&#62;Any bugs?&#60;secret&#62;&#60;/reset&#62;&#34;*&#60;reset&#62; : 상기 어.......

Insecure DOR (Order Tickets) [내부링크]

insecure_direct_object_ref_2php티켓을 주문하는 기능을 제공한다.난이도 하&#x27;hidden&#x27; 타입으로 ticket_price변수가 정의 되어 있는것을 확인할 수 있다. 변수 값이 15를 1로 바꿔보았다.150 ticket을 작성을 하고 Confirm 을 하면 150EUR 로 뜨는 것을 확인할 수 있다.대응방안 난이도 &#x27;중&#x27; &#x27;상&#x27; 에서는 티겟 가격을 조작할 수 있는 변수가 존재하지 않는 것을 확인할 수 있다.하지만 Burp Suite 을 통해 http 요청을 가로챈 후 변수 &#34;ticket_price&#34;를 생성하면 된다.티켓 1개의 값이 1유로인 것을 확인할 수 있다.난이도 상난이도 &#x27;하&#x27; &#x27;중&#x27; 에서 사용했던 방법들을 사용해.......

A5 - Security Misconfiguration/ Insecure WebDAV Configuration [내부링크]

A5 - Security Misconfiguration/ Insecure WebDAV Configuration 안전하지 않은 WebDAV 설정WebDAV · 원격적으로 웹 서버를 제어할 수 있는 HTTP 프로토콜의 확장 기능· WebDAV가 보안 설정이 되어 있지 않으면 공격자는 이 확장 기능을 이용하여 악성 스크립트가 포함된 파일을 업로드해서 시스템에 침투 가능· 기존에 있는 파일을 수정하여 악의적인 행위도 할 수 있다.· 몇몇의 서비스에서 PUT 메소드를 허용하고 있어 악성 웹셸이 업로드 되는 경우가 있다.· WebDAV 프로토콜의 가장 중요한 기능에는 만든이나 수정 날짜에 대한 속성 관리,이름 공간 관리, 정보 수집, 덮어쓰기 보호를 포함한다. 속성 관리에는 파일 정보의 작성, 제거, 조.......

A5 - Security Misconfiguration/ Robots File [내부링크]

Security Misconfiguration (보안 설정 오류)훌륭한 보안은 애플리케이션, 프레임워크, 애플리케이션 서버, 웹 서버, 데이터베이스 서버 및 플랫폼에 대해 보안 설정이 정의되고 적용되어 있다. 기본으로 제공되는 값은 종종 안전하지 않기 때문에 보안 설정은 정의, 구현 및 유지되어야 한다. 또한 소프트웨어는 최신의 상태로 유지해야 한다.robots.txt 파일은 페이지에 대한 접근 권한을 설정하는 파일로, 웹 크롤러의 접근 범위를 설정할 수 있다.robots.txt 파일이 외부에 노출되는 경우 페이지에 대한 접근 권한 자체가 노출된다.User-agent : * : 모든 검색 엔진User-agent : googlebot : 구글 검색 엔진Allow : / : 모든 디렉터리 접근.......

A6 - Sensitive Data Exposure (민감 데이터 노출) [내부링크]

A6 - Sensitive Data Exposure (민감 데이터 노출) 많은 웹 애플리케이션들이 신용카드, 개인 식별 정보 및 인증 정보와 같은 중요한 데이터를 제대로 보호하지 않는다. 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하는 등 약하게 보호된 데이터를 훔치거나 변경할 수 있다. 중요 데이터가 저장 또는 전송 중이거나 브라우저와 교환하는 경우 특별히 주의하여야 하며, 암호화와 같은 보호조치를 취해야 한다.민감 데이터 노출은 클라이언트와 서버가 통신할 때 암호화 프로토콜(SSL) 을 사용하여 중요한 정보를 보호하지 않을 때 발생하는 취약점이다.· 사용자가 민감한 정보를 입력할 때 암호화 저장이 이루어지지 않으면 공.......

A6 - Sensitive Data Exposure/ Base64 Encoding (Secret) [내부링크]

Base64· 8bit의 이진 데이터를 일종의 64진수 문자셋을 변환하는 인코딩 기법이다.· 이진 데이터를 6bit씩 표현한다.· Base64는 다른 이진 데이터 변환 규칙과 관계 없이 아스키코드만으로 데이터를 인코딩하므로 플랫폼 제한 없이 사용할 수 있다.· 이진 데이터가 6bit씩 나누어지지 않을 때는 패딩 문자를 자동으로 붙여 6bit씩 채운다.insecure_crypt_storage_3.php쿠키 값에 비밀번호 힌트를 포함한다.난이도 하쿠키 값에 비밀번호가 인코딩되어 있다고 한다.&#x27;EditThisCookie&#x27; 를 통해 쉽게 secret 변수에 대한 인코딩된 값을 확인할 수 있다.이 값을 복사해서 base64로 디코딩해주면 된다.https://www.base64decode.org/.......

A6 - Sensitive Data Exposure/ Clear Text HTTP (Credentials) [내부링크]

insuff_transp_layer_protect_1.php칼리 리눅스에서 스니핑 도구인 Ettercap 또는 WireShark 프로그램으로 SSL을 사용하지 않은 통신에서 평문 데이터가 ARP 스푸핑 공격을 통하여 노출되는 것을 확인해 보자해당 문제 페이지를 가게되면 일반 로그인폼인 것을 확인할 수 있다.칼리리눅스를 접속한 후 사용자의 패킷을 보기 위해 &#x27;Wireshark&#x27; 프로그램으로 스니핑을 할 것이다.WireShark 을 실행하기 위해 아래 명령어를 입력해준다.HTTP 프로토콜을 통한 통신하기 대문에 Search 창에 http protocol 이라고 치면 쉽게 찾을 수 있다.아니면 해당 패킷에 우클릭을 하여 HTTP Stream을 통해 파악할 수 있다.평문으로 노출되는 것을 확.......

A6 - Sensitive Data Exposure/ Heartbleed Vulnerability [내부링크]

(아래 문제 풀이도 포함되어 있습니다.)HeartbleedHeartBleed 취약점은 OpenSSL 라이브러리의 구조적인 취약점입니다. OpenSSL의 확장규격 중 하나인 HeartBeat는 서버와 클라이언트 사이에 무슨 문제는 없는지 또는 안정적인 연결을 유지하기 위한 목적으로 일정 신호를 주고 받을 때 사용하는 확장규격입니다. 클라이언트는 HeartBeat 확장프로토콜을 이용하여 임의의 정보를 그 정보의 길이와 함께 서버에 전송합니다. 그 후 서버는 전달받은 정보를 다시 클라이언트에 전달해 주는 과정을 통해 자신의 존재 사실을 알려줍니다. 이 때 클라이언트로부터 전달받은 정보와 그 정보의 길이가 일치하지 않는다면, 클라이언트의 요청에 서버는.......

A6 - Sensitive Data Exposure/ HTML5 Web Storage (Secret) [내부링크]

웹은 비연결지향성이기 때문에, 웹 서버는 클라이언트 컴퓨터의 상태를 기억하지 못합니다.그래서 &#x27;쿠키&#x27;에서 정보를 저장되어서 사용됩니다. 하지만 매번 자신의 정보(&#x27;쿠키&#x27;)를 HTTP 요청 헤더에 실어서 보내야 한다는 단점이 있습니다.이는 곧 트래픽 낭비를 불러오고, 보안에 대한 취약점을 드러냅니다. (세션하이재킹 등)이러한 &#x27;쿠키&#x27;의 단점을 보안하여 나온 것이 HTML5에서의 웹 스토리지(Web Storage) 이다.웹 스토리지(Web Storage)는 서버가 아닌, 클라이언트에 데이터를 저장할 수 있도록 지원하는 HTML5의 새로운 기능이다.쿠키와는 다르게 서버와의 통신과정에서 매번 쿠키를 전송하지 않기 때문.......

XSS-game/Level 6: Follow the [내부링크]

https://xss-game.appspot.com/level6아래와 같이 URL중 #뒷부분이 화면에 문자열로 출력되는 것을 확인할 수 있다.코드내에서 확인을 해보면 아래의 URL에 대입이 되어 위에 사진처럼 나오는 것 같다.그렇다면, &#x27;#&#x27;뒤를 조작하면 XSS 공격이 수행될 듯 하다.Hint를 확인해보았다.3번을 보니 나도 지금 소리지르고 싶다...4번을 보고, 해당 주소를 확인해 보았다.https://www.google.com/jsapi?callback&#x3D;alert파라미터 값으로 alert를 문자열로 alert() 해주고 있는 것을 확인할 수 있다.해당주소를 떙겨와서 붙혀주면 문제가 풀리는줄 알았지만, 안된다..소스를 확인해보니 &#34;http&#34; 를 필터링해주고 있다.그래서 Https:.......

웹 해킹 - 대응방법, 필터링 함수 [내부링크]

addslashes()DB 작업을 하는데 있어서 쿼리를합 작성하게 되는데, 작은따옴표( &#x27; ), 큰 따옴표( &#34; ), 백슬래시( \ ), NULL Byte를 문자열을 구분하는 등의 기준으로 이용하게 됩니다.그러나 문자열안에 따옴표가 들어가게 되면 오류가발생하게 됩니다. 예를들어 I&#x27;m ming를 쿼리를 날리게되면 &#x27;i&#x27;m ming&#x27;으로 날리게 됩니다. 나는 i와 m사이에있는 따옴표를 표현하고 싶은데 오류가 뜬다. 이럴 때 필요한게 addslashes(), stripslashes()입니다addslashes() 같은 경우 쿼리안의 따옴표를 이스케이프 (\)로처리 하여 DB에 저장됩니다. (I\&#x27;m ming)작은따옴표( &#x27; ), 큰 따옴표( &#x27; ), 백슬래시( \ ).......

조주빈 n번방 사건, 텔레그램 메신저 말고 4종? [내부링크]

올해 텔레그램 n번방 사건으로 이슈다. 조주빈말고도 다른 공범들이 다른 메신져 앱을 사용했다는 조사결과가 나왔다.4종에 대해 관심도가 높아졌다. · 텔레그램· 디스코드· 위커· 와이어사건의 발달은, 대규모 다크웹 시장을 폐쇄하면서 다크웹 회원들이 온라인으로 오면서 텔래그램과 같은 채팅 앱을 범죄로 사용하기 시작한 것이다.메신저 앱들은 대부분 강력한 암호화기술로 인해 다크웹 회원들에게 있어서 불법 거래 및 악의적으로 사용하는데에 있어서 최적화되어 있다.필자도, 최근들어서 많이 사용하는 메신져 앱인 디스코드(Discord)또한 그렇다고 한다.디스코드(Discord)는 보이스채팅, 자료 공유 에대해서도 유용했지만, 배틀그.......

A4 - 취약한 직접 객체 참조(DOR) [내부링크]

참조 : https://vmilsh.tistory.com/274https://goitgo.tistory.com/52A4 - 취약한 직접 객체 참조· 파일, 디렉토리, 데이터베이스 키와 같은 내부적으로 처리되는 오브젝트가 노출되는 경우 다운로드 취약점 등을 이용하여 시스템 파일에 접근하는 취약점 등을 의미한다.· 접근통제에 의한 확인이나 다른 보호가 없다면, 공격자는 이 참조를 권한 없는 데이터에 접근하기 위해 조작 할 수 있다.공격방법· 주로 파일, 데이터베이스 키, URL에 노출된 세션 아이디를 통하여 조작이 가능하며, 접근 제어나 검증 절차가 없으면 공격자는 허가 없이 객체 참조를 조작하여 데이터를 접근할 수 있다.대응방안· 사용자 혹은 세션 당 간접 객체 참조.......

Insecure DOR (Change Secret) [내부링크]

insecure_direct_object_ref.1php접속한 사용자의 비밀번호 힌트를 변경하는 기능을 제공한다.난이도 하개발자 도구(F12)를 통해 소스를 확인해보면 login를 hidden 타입으로 정의하고 있고, 변수 값으로 bee로 되어 있는 것을 확인할 수 있다.&#60;input type&#x3D;&#34;hidden&#34;&#62; : 사용자에게는 보이지 않는 숨겨진 입력 필드를 정의합니다.이해가 안 가실까봐 밑에 그림으로 설명하겠습니다. 마우스 커서를 갓다대면 해당 필드의 소스를 확인할 수 있습니다. 첫번째 사진은 폼에 대한 소스입니다.두번째는 Change button에 대한 소스를 확인할 수 있습니다.이처럼 사용자에게 보이지 않는 것을 hidden type으로 정의하고 있습니다.......

XSS - Reflected(Referer) [내부링크]

xss_referer.phpHTTP 요청 헤더 Referer : 바로 직전에 머물었던 웹 링크 주소, 사용자가 어떤 링크를 통해 페이지에 접속했는지 저장하는 헤더User-Agent : 클라이언트 소프트웨어(브라우저, OS) 명칭 및 버전 정보난이도 &#x27;하&#x27;, &#x27;중&#x27;Referer 과 User-Agent 헤더는 변조되거나 없어도 응답패킷에 대해 영향을 주지 않는다.다만, 지금 해당 페이지는 헤더의 값을 페이지 상에서 출력해주기 때문에, 헤더값을 조작하여 xss공격 수행할 수 있다.Referer 해당 주소 뒤에 &#60;script&#62;alert(document.cookie)&#60;/script&#62; 를삽입해주었다.공격이 성공적으로 삽입되어 경고창을 출력하는 것을 확인할 수 있다.난이도 &#.......

XSS - Reflected(User-Agent) [내부링크]

xss_user_agent.phpHTTP 요청 헤더 Referer : 바로 직전에 머물었던 웹 링크 주소, 사용자가 어떤 링크를 통해 페이지에 접속했는지 저장하는 헤더User-Agent : 클라이언트 소프트웨어(브라우저, OS) 명칭 및 버전 정보난이도 &#x27;하&#x27;, &#x27;중&#x27;Referer 과 User-Agent 헤더는 변조되거나 없어도 응답패킷에 대해 영향을 주지 않는다.다만, 지금 해당 페이지는 헤더의 값을 페이지 상에서 출력해주기 때문에, 헤더값을 조작하여 xss공격 수행할 수 있다.Burp suite을 통해 확인해보았다.User-Agent헤더의 뒷 부분에 &#60;script&#62;alert(document.cookie)&#60;/script&#62;를 삽입해보았다.Forward를 하면 정상적으로 경고창이 출.......

XSS-game/Level 1: Hello, world of XSS [내부링크]

해당 사이트는 크로스사이트스크립팅(Cross Site Scripting) 워게임 사이트입니다.https://xss-game.appspot.com/해당 페이지를 가게되면 다음 같은 화면을 확인할 수 있습니다.XSS에대해 설명해주고 있습니다.Let me at&#x27;em! 클릭해주면 다음 문제로 넘어가게 됩니다. Level 1: Hello, world of XSS간단히 요약하자면, 경고창을 보이게 하면 문제가 해결되는 것 같습니다.일단, 폼에 &#x27;test&#x27;를 입력해 봤습니다.보시다 시피 URL에 상에 &#x27;query&#x27; 변수가 노출되고, test가 변수값을 들어갔습니다. GET방법으로 HTTP 요청한다는 것도 알수 있겠습니다.그렇다면 변수 query를 조작하면 문제가 쉽게 풀릴 듯 합니다.query.......

XSS-game/level 2: Persistence is key [내부링크]

https://xss-game.appspot.com/level2일반 문자로 &#x27;hello&#x27;을 입력했을 때는, 출력이되는 것을 확인할 수있습니다.하지만, &#60;script&#62;&#60;/script&#62; 구문을 입력하면 아무런 입력이 안되는 것을 확인할 수 있습니다.XSS를 방지하기 위해 필터링을 하는 것 같습니다.&#60;img&#62; 태그와 &#x27;onError&#x27; 속성을 사용해봤습니다.이미지 태그에서는 태그에 입력한 주소에 이미지가 존재하지 않을 경우 &#x27;onError&#x27; 속성으로 이미지를 대체합니다.&#x27;onError&#x27; 속성을 이용하여 스크립트 코드를 입력하면 XSS 가능합니다.&#60;img src&#x3D;x onerror&#x3D;alert(1)&#62;Solve!

XSS-game/Level 3: That sinking feeling... [내부링크]

https://xss-game.appspot.com/level3해당 문제 페이지를 보면 Image1,2,3 을 클릭할 때마다 url의 frame#(숫자) 변경되는 것을 확인할 수 있다.다음문제를 풀기 위해 소스를 확인해보았다.이미지 태그를 이용하는 방법인 것같다. 해당경로(/static/level3/cloud) + num.jpg&#x27;를 사용하고 있다.그렇다면 이미지가 존재하지않을 때 &#x27;onError&#x27;로 대체하는 속성을 이용하면 될듯하다.URL 입력 값 : frame#[알수없는 이미지번호].jpg&#x27; onerror&#x3D;alert(1)&#62;실제 구문 : &#60;img src&#x3D;&#x27;frame#5.jpg&#x27; onerror&#x3D;alert(1)&#62;5.jpg는 존재 하지 않는 파일이기 때문에 onError로 대체된다.Solve!

XSS-game/Level 4: Context matters [내부링크]

https://xss-game.appspot.com/level4해당 문제의 페이지에서 폼에 입력된 값을 &#x27;Create timer&#x27; button 을 누르면 아래와 같이 경고창이 뜨고 폼에 입력한 값이 변수 &#x27;timer&#x27;의 값에 들어가게 되는 것을 확인할 수 있습니다.&#x27;timer&#x27; 변수를 조작하면 XSS공격이 될 것같습니다.해당 페이지의 소스를 확인해봤습니다.&#60;img src&#x3D;&#34;/static/loading.gif&#34; onload&#x3D;&#34;startTimer(&#x27;{{ timer }}&#x27;);&#34; 부분에서 starTimer() 함수를 호출하여 해당 경고창을 출력하는 것같습니다. (&#x27;&#x27;);공격스크립트(&#x27;&#x27;) 이렇게 스크립트를 작성하면 XSS 공격이 될 것 같습니다.......

XSS-game/Level 5: Breaking protocol [내부링크]

https://xss-game.appspot.com/level5첫 페이지이다. &#34;Sign up&#34; 이 링크되어 있는 것을 확인할 수 있다.다음은 &#x27;Sing up&#x27; 을 누르면,url에 변수 next 가 노출되고, 변수 값으로 confirm이 들어가 있는 것을 보아, GET 방식으로 HTTP 요청하는 것을 확인할 수 있다.Next 를누르면 URL 이 confirm 으로 바뀌고 몇 초후 첫 페이지로 되돌아간다.자세히 문제의 페이지가 어떻게 돌아가느지 소스를 확인해보았다.의심이 가는부분은 밑에 3번째 줄이다링크를 클릭하면 next의 url로 넘어가는 것 같다.해당 next를 조작하면 XSS 공격이 될 듯하다.URL 에서 자바스크립트 구문을 사용하기 위해서 &#60;a href&#x3D;&#34;javascript.......

XSS - Reflected(HREF) [내부링크]

xss_href-1.php이름을 입력하고 &#x27;Continue&#x27; 버튼을 누르면 &#x27;xss_href-2.php&#x27; 페이지로 이동하고 영화 목록을 테이블 형태로 출력한다. &#x27;xss_href-2.php&#x27; 페이지에서 &#x27;Vote&#x27; 버튼을 누르면 &#x27;xss_href-3.php&#x27; 페이지로 이동하고 추천한 영화 제목을 메시지로 출력한다.난이도 &#x27;하&#x27;폼에 작성을 하고 Continue를 눌려본다.해당 페이지가 나오고 GET방식으로 요청했기 때문에, 변수가 노출되는 것을 확인할 수 있다.xss_href-1.php -&#62; xss_href-2.php 로 이동 된것을 확인할 수 있고, 폼에서 입력한 &#x27;ming&#x27; 이 name 변수에 변수값으로 들어간 것을 확인할 수 있다.이점을.......

XSS - Reflected(Login Form) [내부링크]

xss_login.php해당 페이지는 로그인을 하는 페이지이다.난이도 &#x27;하&#x27;이미 SQL Injetcion에서 다루었던 페이지이다.&#34; &#x27; &#34; 작은따옴표를 입력하여 Injection 이 가능한지 여부를 파악해보았다.문법이 맞지 않아 오류메시지가 뜨는것을 확인할 수 있다.Mysql DBMS인것을 확인할 수 있고, &#34; &#34; AND password&#x3D;&#34; &#34; at line1 구조 인듯하다.Burp Suite을 통해 HTTP 요청을 가로채보았다.POST 방식으로 HTTP 요청을 하고있다.그리고 login, password, form의 변수가 존재하는 것을 알 수 있다.항상 참의 결과를 가지고오는 구문을 삽입하면 될 듯하다.&#x27; or 1&#x3D;1#이를 응용해 경고창을 출력.......

XSS - phpMyAdmin BBCode Tag xss [내부링크]

CVE-2010-4480해당 페이지를 가면 HINT : CVE-2010-4480 로 굵은 글씨체 처럼 링크로 되어있다.하지만 클릭할시, 사이트에 연결이 안된다.CVE-2010-4480 취약점이 무엇인지 검색을 해보았다.아래와 같이 URL에 [비박스 주소]/phpmyadmin/error.php 로 접속해준다.변수 error 에다가 아무 값을 입려해보았다.error 변수에 입력한 값이 출력되는 것을 확인해보았다.그렇다면 이제는 취약점에서 확인할수 있는 [a@url@page]구문을 삽입해보았다.위와 같이 click을 누르면 해당 경로로 이동이 되는 것을 확인할 수 있다.해당 url 경로를 조작하면은 쿠키를 알려주는 경고창을 출력할 수 있을 것같다.해당 경로를 작성하기 위해서는 페이지를 생성.......

XSS - Reflected(PHP-SELF) [내부링크]

xss_self.php폼 태그를 작성하여 go를 누르면 문자열이 출력된다.폼을 작성하고 &#x27;Go&#x27; 버튼을 누르면 아래와 같이 출력이 된다.이 점을 보아 First name과 Last name에 대해 다 출력하는 것을 확인할 수 있다.First name 이나 Last name에 스크립트를 작성하면 스크립트가 해석될 것 같다.First name에 &#60;script&#62;alert(document.cookie)&#60;/script&#62; 를 삽입하고 Go를 했다.경고창이 뜨고 Lastname에 입력했던 min은 그대로 출력되는 것을 확인할 수 있다.Lastname 에 스크립트를 작성해도 똑같이 경고창을 출력할 수 있었다.이번에는 URL에 있는 폼 태그를 강제적으로 닫아서 스크립트 코드를 URL에 삽입해보았다.(현재 페.......

XSS - Reflected(Eval) [내부링크]

xss_eval.php해당 페이지는 현재 시간에 대한 정보를 보여주고 있다.난이도 &#x27;하&#x27;해당 페이지를 가졈 시간에 대한 정보를 보여주고 있다.Burp suite을 통해 HTTP 요청을 가로채보았다.date&#x3D;Date() 을 GET 방식으로 요청을 하고 있다.Forward 를 하여 해당 페이지의 소스를 확인해 보았다.Date() 함수가 없으면 eval(&#34;document.write()&#34;); 가 기본형태 인 것같다Date() 함수대신 경고창을 출력하는 스크립트를 넣으면 될 듯하다.date&#x3D;alert(document.cookie)쿠키 정보가 있는 경고창이 출력되는것을 확인할 수 있다.소스를 확인해보면 아래와 같이 나오는 것을 확인할 수 있다.하지만 밑에 보면 Date() 함수를 제.......

XSS - Reflected(Back Button) [내부링크]

xss_back_button.php해당 문제의 페이지는 &#x27;Go back&#x27; 버튼을 누르면, 이전의 페이지로 되돌아 가게 된다.경로를 조작하여 경고창을 출력하게 한다.난이도 &#x27;하&#x27;해당 페이지는 &#x27;Go back&#x27; button 만이 존재하는 페이지이다.해당 &#x27;Go back&#x27; button을 누르면 전의 페이지로 돌아가게 된다.Burp Suite을 통해 HTTP 요청을 가로채서 확인해봤다.Burp Suite을 키고 &#x27;Go back&#x27; 버튼을 누르면 이전 페이지에 대한 URL을 GET요청하는 것을 확인할 수 있다.Referer 을 보면 현재 페이지 URL을 확인할 수있다.HTTP Referer 패킷 : 어떤 페이지를 들어갈 때, 어떤 URL를 통해서 접속하였는지 저장하는 항.......

XSS - Reflected(Custom Header) [내부링크]

xss_custom_header.php일부 웹 클라이언트는 사용자 정의 http 요청 헤더를 사용합니다.http 헤더를 조작하여 문제를 푼다.난이도 &#x27;하&#x27;일부 웹 클라이언트는 사용자 정의 http 요청 헤더를 사용합니다.bWAPP 헤더를 사용할 수있도록 되어있는 것같다.Burp Suite을 통해 HTTP 요청을 가로채서 확인해 보았다.해당 페이지는 &#x27;bWAPP&#x27; 의 헤더가 존재하지 않는다.일부 사용자가 정의해서 헤더를 사용한다고 하니, 헤더를 작성하고 test를 넣어보았다.&#x27;test&#x27;가 출력되는 것을 확인할 수 있다.그렇다면 bWAPP 헤더에다가 스크립트를 작성해서 Forward 해주면 될 듯하다.&#60;script&#62;alert(document.cookie)&#60;/scri.......

XSS - Stored(SQLiteManager) [내부링크]

xss_sqlitemanager.phpSQLiteManager 의 XSS 취약점들어가기 앞써, SQLiteManager가 무엇인지 알 필요가 있을듯 하다.SQLiteManager : SQLite 데이터베이스를 웹 GUI로 관리하기 위한 시스템해당 페이지를 가면 굵은글씨체 부분이 있다. HINT를 보면 CVE-2012-5105 이다. Search를 통해 어떤 취약점이 있는지 확인해보았다.해석하면 , SQLiteManager의 1.2.4 버전에서 XSS 취약점이 있는데, 이 취약점을 통해 원격 공격자들은 main.php 에서 dbsel 파라미터 또는 index.php 에서 nsextt 파라미터와 dbsel 파라미터를 이용해서 웹 스크립트 또는 HTML을 삽입할 수 있다고 한다.해당 페이지에 들어가보면 다음과 같은 화면이 보인다.좌측 상단.......

XSS - Stored(User-Agent) [내부링크]

xss_stored_4.php접속한 웹 브라우저의 정보가 저장된 &#x27;User-Agent&#x27; 헤더 값을 테이블 형태로 출력한다.테이블에는 User-Agent 정보를 최근 접속한 순서대로 3개까지만 출력하는데, &#x27;download&#x27;라는 굵은 글씨를 클릭하면 페이지에 접속한 모든 User-Agent의 정보를 새로운 페이지에 출력한다.해당 페이지를 확인해보면,해당 페이지의 접속한 사용자의 Data, IP Address, User-Agent 정보를 테이블 형태로 확인할 수 있다.User-Agent : 페이지에 접속한 클라이언트의 정보(OS, 브라우저 정보 등) 를 저장하는 헤더Burp Suite를 통해 해당 페이지의 User-Agent를 확인할 수 있었다.User-Agent에 쿠키값을 출력하는 경고창 스크.......

XSS - Reflected(GET,POST) [내부링크]

Reflected Cross-Site Scripting악성스크립트를 입력해 웹 브라우저에서 실행하는 것이다.사용자가 입력한 값에 대해 결과가나오는 것을 공략한 것이다.URL에 존재하는 파라미터에 악의적인 스크립트 코드를 입력하여 사용자가 URL을 클릭하면 파라미터에 입력한 악성 스크립트 코드가 실행되게 하는 공격이다.xss_get.phpXSS 취약점이 있는지 알아보기 위하여 First name 입력란에 스크립트 코드르 입력한다.스크립트 코드가 실행되면 &#x27;Succeed&#x27; 라는 경고창을 출력한다난이도 하,중해당 페이지의 URL을 확인해보면 변수되는 것을 확인 할수 있으며,GET 방식의 요청을 하는 것을 확인할 수 있다.Firstname 에 스크립트를 작성하여 경.......

XSS - Reflected(JSON) [내부링크]

JSON ?· 클라이언트와 서버가 통신할 때 자료를 표현하는 방법으로 특정 언어에 제한 없이 그대로 사용할 수 있는 장점이 있고, 여러 자료 구조를 JSON으로 표현할 수 있다.· 사람이 읽을 수 있는 텍스트 기반의 데이터 교환 표준이다.JSON의 구조1. JSON 데이터는 이름과 값의 쌍으로 이루어집니다.2. JSON 데이터는 쉼표(,)로 나열됩니다.3. 객체(object)는 중괄호({})로 둘러쌓아 표현합니다.4. 배열(array)은 대괄호([])로 둘러쌓아 표현합니다.xss_json.phpJSON으로 객체를 선언하는 자바스크립트 코드를 사용하여 검색한 자료를 출력한다.난이도 하검색란에 아무 단어를 입력하여 Search를 해보았다.GET 메소를 이용하여 HTTP 요청을 하.......

XSS - Reflected(AJAX/JSON) [내부링크]

AJAX ?· HTML,CSS,자바스크립트,DOM,XML 등 기존에 사용되던 여러 기술을 함께 사용하는 새로운 개발 기법· 웹 페이지를 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있게 해줍니다.· 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표실할 수 있습니다.JSON ?· 클라이언트와 서버가 통신할 때 자료를 표현하는 방법으로 특정 언어에 제한 없이 그대로 사용할 수 있는 장점이 있고, 여러 자료 구조를 JSON으로 표현할 수 있다.· 사람이 읽을 수 있는 텍스트 기반의 데이터 교환 표준이다.JSON의 구조1. JSON 데이터는 이름과 값의 쌍으로 이루어집니다.2. JSON 데이터는 쉼표(,)로 나열됩니다.......

XSS - Reflected(AJAX/XML) [내부링크]

AJAX · HTML,CSS,자바스크립트,DOM,XML 등 기존에 사용되던 여러 기술을 함께 사용하는 새로운 개발 기법· 웹 페이지를 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있게 해줍니다.· 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표실할 수 있습니다.XML· 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어· 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있다.· 부모 요소는 여러 개의 자식 요소를 가질 수 있다. 하지만 자식 요소는 단 하나의 부모요소만을 가진다.· XML 문서는 HTML문서와 마찬가지로 트리 형태의 계.......

XSS - Stored(Blog) [내부링크]

참고 : https://blog.naver.com/ster098/221899246406https://blog.naver.com/is_king/221613074078xss_stored_1.php텍스트 입력 공간에 내용을 입력하고 [submit] 버튼을 클릭하면 그 아래에 있는 테이블에 입력한 내용을 저장한다.난이도 하텍스트 입력 공간에 &#x27;Succeed&#x27; 라는 메시지를 출력하는 스크립트 코드를 입력하고 [Submit]한다.&#60;script&#62;alert(&#34;Succeed&#34;);&#60;/script&#62;다음은 쿠키값을 경고창을 출력하는 스크립트 코드를 작성한다.&#60;script&#62;alert(document.cookie)&#60;/script&#62;스크립트가 저장이 되어있어서 다른 유저 및 브라우저로 들어와도 경고창이 출력이 된다.그 외 다른 코드또한 입.......

중국의 APT 공격, 다섯개의 단체 [내부링크]

내용 : APT 공격단체가 10여년동안 피해자 네트워크에 공격 기반을 마련해 두었다. 코로나 바이러스가 발생함으로써 재택근무자가 많이 늘어나 온프레미스 환경에서 빠져나가는 현상이 발생했다. 하지만 공격자들의 공격대상인 지적재산은 회사내에 여전히 존재한다. 근무자가 줄어든 만큼 경비병(?)들이 줄어 든 샘이다.다섯개의 단체는 1) 브론즈 유니온 2)패스CV 3) 캐스퍼 4) 오리지널 윈티 5) 리눅스 해킹 전문으로 하는 WLNXSPLINTER 라고 불린다. 이들은 흩어졌다가 모이기도 하는데 모였을 때 이들을 &#x27;윈트&#x27;라고 칭한다.이들이 리눅스 환경을 공격하는 이유는 클라우드 서비스 업체들 사이에서도 리눅스 인기는 대단하다 하지.......

XSS - Stored(Change Secret) [내부링크]

xss_stored_3.php비밀번호 힌트를 새로 설정하는 기능을 제공한다.&#x27;Succeed&#x27;라는 경고창이 출력하는 스크립트를 작성해준다.&#60;script&#62;alert(&#x27;Succeed&#x27;);&#60;/script&#62;http://192.168.56.102/bWAPP/sqli_16.php (SQL Injection(Login Form/user))경로로 가서 로그인을 하면 스크립트가 실행되어 Succeed 경고창이 출력이 되는 것을 확인할 수 있다.이번에는 사용자 쿠키값을 경고 창으로 출력하는 스크립트를 작성해서 Change 버튼을 눌러주고 로그인을 해보았다.&#60;script&#62;alert(document.cookie)&#60;/script&#62;해당 페이지는 사용자의 아이디를 웹 페이지 소스 코드에 노출 한다. 웹 개발자 도구 (f12)를 통.......

XSS - Stored(Cookies) [내부링크]

xss_stored_2.php해당 페이지는 영화를 선택하여 조회를 하면 경고창을 출력하게 해야 한다.난이도 하 자신이 좋아하는 영화 장르를 선택하고 Like 해줍니다.그렇다면 내가 좋아하는 장르를 선택했으니 조회를 해보겠습니다.Session Mgmt - Cookies(HTTPOnly) 페이지에서 Cookies를 클릭하면 조회가 가능합니다.movie_genre을 보니 제가 클릭했던 &#x27;action&#x27;이 보입니다.다시 해당 문제 페이지에 가서 Edit this Cookies 를 통해 쿠키값을 확인해봤습니다.movie_genre가 보이고 쿠키값이 action인것을 확인할 수 있습니다.이 점을 보아 저는 몇가지를 알 수 있었습니다.1. 해당 문제 페이지에서 Like를 누르면 genre파라미터에 전달 (C.......

HTTPS, 사이버위협이 되고 있다. [내부링크]

HTTPS는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한 통신 프로토콜이다. 하지만 제목에 적혀있듯이 HTTPS와 SSL이 오히려 위협이 되고 있다. 이는 IT에 관심있는 학생이거나 분야에 종사하시는 분들이라도 잘 모를수도 있다고 생각이든다. 사이버 범죄자, 렛츠인크립트와 같은 조직들이 무료로 인증서를 배포해주기 때문이다. 사이버 공격이 일어나는 것을 파악하기 위해서는 SSL 트래픽의 내용물을 검사를 해야한다. 하지만 프라이버시 문제로 인해 할수 없다고 한다. 또한, 생산성문제이다. 검사를 하기위해서는 복호화를 진행해야하는데 이는 방화벽과 다른 장비들이 속도가 느려질 수 있다고 한다. 한쪽에서는 HTTPS가 그래도 좋.......

Session Mgmt - Administrative Portals [내부링크]

smgmt_admin_portal.php관리자 권한을 체크하는 전달 값을 수정하여 관리자 인증 없이 내부 페이지에 접근 가능한지 점검한다.비인가 사용자가 관리자 페이지에 접근하면 심각한 정보 노출이 발생할 수 있기 때문에 인증 프로세스가 꼭 반영되어야 한다.아래 링크에 인증 및 세션 관리에 대한 자료를 정리해 놨습니다.https://blog.naver.com/ster098/221897137103난이도 하난이도 &#x27;하&#x27;에서는 URL주소에 전달 값을 조작하여 우회합니다.해당 페이지에 가면 변수 &#x27;admin&#x27;이 그대로 노출된느 것을 확인할 수 있다.간단히 변수값을 조작해보았다.0 -&#62; 11로만 바꿧을 뿐인데 잠금을 풀었다는 메시지가 뜬다. 매우 간단한 공.......

Session Mgmt - Cookies(HttpOnly) [내부링크]

Secure와 HttponlySecure : Secure 쿠키는 HTTPS 프로토콜 상에서 암호화된 요청일 경우에만 전송됩니다.Httponly :HTTPonly쿠키는 XSS 크로스트 사이트 스크립팅 공격을 방지하기 위해 JavaScript의 Documnet.cookie API에 접근할 수 없습니다.(새로운 쿠키들은 Document.cookie를 통해 만들어질 수 있으며, httponly가 없는 경우 쿠키들은 JavaScript에 접글할 수 있습니다. 이는 자바 스크립트에서 이용 가능한 쿠키들은 XSS를 통해 감청될 수 Cookie와 Set-Cookie 헤더Cookie : 클라이언트 -&#62; 서버 ( Request 패킷)Set-Cookie : 서버 -&#62; 클라이언트 ( Response 패킷)참고 : https://blog.naver.com/ster098/221897137103smgmt_.......

A3 - XSS (Cross-Site Scripting) [내부링크]

참조 : https://www.youtube.com/watch?v&#x3D;MQlIIcpV_Z4XSS ( Cross-Site Scripting)사용자가 요청한 자료를 서버에서 요청한 자료를 스크립트로 응답을 합니다. 즉,사용자가 브라우저로 해커가 작성한 스크립트를 읽엇을 때 해커의 스크립트가 우리의 브라우저에 해석되는 것이다.여기의 스크립트를 이용하여 세션 및 쿠키를 탈취하여 서버에서는 해커가 관계자로 해석할 수도 있습니다.악성코드를 다운 받는 페이지로 접속해 악성코드를 다운받을 수 있다.해커가 만든 악성사이트에 접속할 수도 있다.여기서 말한 쿠키란 ? 사용자의 정보를 담고있는 것, 로그인 정보, Session ID 세션ID ? 클라이언트를 각자 구별하기 위한 ID를 말한.......

XML/XPath Injection - Search [내부링크]

xmli_2.php영화를 장르별로 분류하여 영화 제목만 테이블 형태로 출력한다.난이도 하&#x27;Search&#x27; 를 눌러보면 다음과 같이 테이블 형태로 출력이 되고 URL에 변수가 노출되는 것을 보아 GET방식으로 요청하는 것을 확인할 수 있다.&#x27;genre&#x27; 변수에 작은따옴표 ( &#x27; ) 를 넣어 SQL인젝션이 가능한지를 확인해보았다.XML 과 관련된 경고내용이 출력이 되고, XML/XPath Injection 공격에 취약점이 있는 것을 확인할 수 있다.해당 경로에서 소스를 확인해보면 아래를 확인할 수 있다.$result &#x3D; $xml-&#62;xpath(&#34;/heroes/hero[contains(genre, &#x27;$genre&#x27;)]/movie&#34;);contains() : 두개의 인자에서 첫.......

A2 - 인증 및 세션 관리 취약점 [내부링크]

참고 : https://tansfil.tistory.com/58https://12bme.tistory.com/133웹 애플리케이션에서는 로그인 하는 대상이 아이디와 비밀번호를 이용하여 사이트에 등록된 사용자가 맞는지 확인하는 인증 절차를 거친다.다음은 Cookie와 Session을 이용한 인증방식이다.1. 사용자가 로그인을 한다.(요청)2. 서버는 사용자로그인의 정보를 읽고, 회원DB와 비교하여 사용자를 확인한다.3. 사용자의 고유한 ID 값을 부여하여 세션 저장소에 저장한다.4. 세션저장소는 사용자정보와 연결되는 Session ID값을 발급한다.5. 서버는 HTTP 헤더에 Session ID 값을 같이 실어 사용자에게 돌려보낸다.6. 사용자는 세션ID 값을 받아 쿠키에 저장을 하게 됩니다. 사.......

Broken Auth - Insecure Login Forms [내부링크]

ba_insecure_login_1.php웹 페이지가 안전하지 않은 로그인 형식을 사용하는지 점검한다.난이도 하해당 페이지의 개발자도구 (F12) 를 실행한다.&#x27;body&#x27;의 &#x27;main&#x27;을 보면 PAOT 메서드를 이용하여 요청하는 로그인 형식을 찾으면 font color &#x3D;&#34;white&#34; 인 것을 확인할 수 있다.&#34;white&#34; -&#62; &#34;black&#34;으로 수정해준다.폼을 확인해보면 글자가 나타는 것을 확인할 수 있다.다음 나타난 글로 로그인하면 된다.난이도 중난이도 중으로 높이면, 다음과 같이 Name칸에 이미 &#34;brucebanner&#34; 가 입력이 되어 있다.&#34;brucebanner&#34;사용자로 로그인하기 위하여 웹 페이지의.......

Broken Auth - Password Attacks [내부링크]

출처 및 참고 : https://securitycode.tistory.com/21해당글의 정의 및 설명은 위 주소를 참고했습니다.ba_pwd_attacks_1.phpburp suite 의 Intruder 기능을 사용하여 Password를 알아낸다.Password Attack ?사용자에 대한 계정 정보를 획득하기 위하여 비밀번호로 입력 가능한 모든 문자 조합을 입력하여 사용자의 계정과 비밀번호가 일치할 때까지 대입하는 공격이다.난이도 하Burp suite을 이용하여 공격할려는 페이지의 HTTP 요청을 가로챕니다.해당 가로챈 페이지에서 &#34;Send to Intruder&#34;를 클릭해줍니다.Send to Intruder : 웹 애플리케이션을 대상으로 사용자 정의 공격을 할수 있는 자동화 도구입니다.다음은 Intruder.......

Broken Auth - Weak Passwords [내부링크]

ba_weak_pwd.php백신 및 방화벽을 꺼놓은 상태에서 FuzzDB을 다운받아야 한다.경로 :https://github.com/fuzzdb-project/fuzzdbWeak Password ?비밀번호 사전 대입공격은 무차별 대입 공격과 비슷해 보이지만 비밀번호를 설정하는 사람들이 선호하는 문자열을 대입하는 공격이다.인증 과정의 암호화가 복잡하여도 사용자가 설정하는 비밀번호가 간단하다면 공격자는 다른 사용자로 쉽게 로그인할 수 있다.사용자들이 가장 즐겨 쓰는 비밀번호를 마치 사전처럼 기록한 파일에 있는 문자열을 대입하여 공격을 시도한다. -&#62; 공격속도가 무차별 대입공격보다 빠르다./ 단 사전정보가 없으면 실패한다난이도 하, 중문자열 데이터베이스를 다운.......

sqlmap을 이용한 공격 시나리오 SQL Injection -GET/Search [내부링크]

sqli_1.php데이터베이스의 회원의 번호, 아이디, 패스워드 획득sqlmap을 이용한 데이터 정보를 획득하는 과정이다. burpsuite을 통한 쿠키값을 읽어와야 한다.#sqlmap -u &#34;http://192.168.56.102/bWAPP/sqli_1.php?title&#x3D;&#34; --cookie&#x3D;&#34;PHPSESSID&#x3D;ecc56ecf32d6a2eb05e06077adaaadbc; security_level&#x3D;0&#34; -dbs--current-user, --is-dba, --privilege 옵션을 조합하여 권한을 획득한다.#sqlmap -u &#34;http://192.168.56.102/bWAPP/sqli_1.php?title&#x3D;&#34; --cookie&#x3D;&#34;PHPSESSID&#x3D;ecc56ecf32d6a2eb05e06077adaaadbc; security_level&#x3D;0&#34; --current-user --is-dba --privilege.......

XML/Xpath 인젝션 [내부링크]

XML ?데이터를 트리 구조의 노드로 표현하며 사용자 정의 로 데이터를 분류한다.Xpath ?일종의 쿼리로, XML 데이터베이스 내용을 선택하고 조작하기 위하여 사용한다.XML· 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어· 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있다.· 부모 요소는 여러 개의 자식 요소를 가질 수 있다. 하지만 자식 요소는 단 하나의 부모요소만을 가진다.· XML 문서는 HTML문서와 마찬가지로 트리 형태의 계층 구조를 가진다.XML의 트리구조의 예시최상위 노드는 &#x27;movies&#x27; 이며, 하위 노드는 &#x27;action&#x27;이다&#x27;action&#.......

XML/Xpath Injection - Login Form [내부링크]

xmli_1.phpsuperhero 그룹의 사용자로 로그인하는 기능을 제공한다.superhero 그룹의 사용자 계정정보는 XML 데이터베이스에 저장된다.난이도 하작은따옴표( &#x27; ) 를 입력해 XML/XPath 인젝션이 가능한지를 파악한다.위와 같이 오류가 뜨는데 &#x27;XPath&#x27; 관련오류 인듯하다.해당페이지는 로그인페이지로 login과 password가 and 연산자로 호출한다고 추측 및 가정할 수 있다.그러다면 항상 참인 결과를 가지고 오기 위한 쿼리는 다음과 같다.&#x27; or 1&#x3D;1 or &#x27;and 연산자가 있다고 가정하면 다음과 같은 쿼리 일것이다.login&#x3D; &#x27;login 폼&#x27; or &#x3D;1&#x3D;1 or &#x27; &#x27; and password&#x3D; &.......

키링, 사용자 정보 노출 [내부링크]

디지털 지갑 애플리케이션인 키링에서 사용자 정보 유출 사고가 일어났다.키링에서는 사용자들의 신분증, 면허증, 신용카드, 중요한 데이터 등들의 내용들이 있다고 한다.vpn 멘토에 의하면 AWS S3 버킷의 잘못된 설정으로 인한 데이터들이 노출된 상태라고 한다.개인정보 노출의 원인은 내부에 있을 가능성이 높다고 생각이든다. 원인으로 따지면 업무담당자의 부주의, 홈페이지 설계 오류, 개인정보보호 의식부족이 원인 아닐까 생각이든다. 이번 사건은 사소한 실수가 대량의 개인정보를 노출시켰다. 사용자들의 개인정보가 남의 것이라 생각하지말고 자신의 것이라고 생각하며, 주의 기울여 한다고 생각한다.https://www.boannews.com/me.......

Blind SQL 인젝션 - Web Services/SOAP [내부링크]

sqli_5.php선택한 영화에 남아 있는 티켓 수를 출력하는 페이지로, 티켓 수 출력에 SOAP을 활용하여 예매 가능한 티켓 수를 사용자에게 보여준다.SOAP ? 애플리케이션 계층의 프로토콜을 전송 계층의 프로토콜로 사용할 수 있게 하는 프로토콜이다.HTTP, HTTPS, SMTP 등을 통하여 XML 기반의 메시지가 네트워크에서 교환된다.웹 서비스는 네트워크에 있는 정보를 모아 서비스로 제공하므로 SOAP 덕분에 물리적으로 인접하지 않은 서버에 정보를 요청하고 요청에 대한 응답 값을 확인할 수 있다.( Client가 물리적으로 인접하지 않은 서버에게 객체나 함수를 호출하여 그 값을 반환받는 RPC중에 하나입니다.)XML ?Extensible Markup Language .......

'n번방 회원 신상정보 공개' 스미싱 [내부링크]

요즘 이슈가 되고 있는 것이 바로 n번방 박사 &#x27;조주빈&#x27;의 신상이 공개되고, 사람들은 &#x27;조주빈&#x27; 뿐만 아니라 다른 공범들의 신상도 밝혀야 된다고 촉각을 세우며 말하고 있다. 이점을 이용해 &#x27;신상공개&#x27;라는 미끼로 사람들을 유혹하고 있다. 문자를 통해 단축 URL 주소와 함께 악성 앱이 다운이 되는 &#x27;스미싱 문자&#x27; 이다. 링크를 클릭하면 PinkTv.apk 악드로이드 악성 앱이 다운이 되고, 개인정보 접근권한 및 기기 정보 탈취 권한을 요구하며 해당 앱은 &#x27;DroidJack&#x27; 이라는 악성 앱을 만드는 서비스를 통해 제작되었다. &#x27;DroidJack&#x27;은 악성 앱에 감염된 안드로이드 스마트폰을 원격.......

Blind SQL 인젝션 - Time Based [내부링크]

&#x27;sqli_15.php참을 구별하기 위하여 sleep 함수를 사용하여 인젝션을 시도한다.&#x27; 페이지는 영화 검색 결과를 이메일로 보내는 기능을 한다.참 거짓에 상관없이 검색 결과는 모두 동일한 메시지를 출력한다.난이도 하SQL Injection이 가능한지 확인하기 위해 작은따옴표( &#x27; ) 를 입력해본다.전 문제들 같은 경우 데이터베이스 종류를 나타내며 오류메시지를 출력하지만 해당 페이지는 검색결과를 이메일로 보낸다는 결과를 출력한다.이번에는 인자에 입력한 시간만큼 응답을 지연시키는 sleep()를 사용한다.그리고, 항상 참으로 만든는 쿼리를 and 연산자로 sleep()를 호출하여 이전 쿼리가 참이면 응답을 지연하게 한다.sleep(.......

SQL 인젝션 - Login Form/User [내부링크]

난이도 하작은 따옴표(&#x27;)를 입력하여 인젝션 취약점이 있는지 확인해보았다.오류메세지를 출력하고 현 페이지는 MySQL 데이터베이스를 사용하고 있는 것을 확인할 수 있다.그렇다면 항상 참인 결과를 가져오는 쿼리를 삽입해보았다.&#x27; or 1&#x3D;1#오류가 뜨는 것을 확인할 수 있다. 그렇다면, 해당 페이지의 소스를 확인해 볼필요가 있는 것 같다.해당 소스를 보면 login 값과 password의 값이 같으면 출력되도록 되어 있습니다.그렇다면 해당 페이지는 POST 메서드를 이용하여 요청하기 때문에 버프스위트를 이용해서 쿠키를 알아내고, sqlmap으로 데이터베이스를 확인해봤습니다.sqlmap 을 이용하여 MySQL에서 사용 중인 데이터베.......

SQL 인젝션 - SQLite [내부링크]

SQLite ?클라이언트 응용 프로그램에 임베디드 되어 동작하는 오픈 소스 DBMS의 일종이다.데이터베이스 전체를 파일 하나에 저장하기 때문에, 파일을 통째로 복사하면 백업이 끝난다.서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다.SQL Injection에 대한 취약점이 존재하는지 작은따옴표(&#x27;)를 넣어봤지만 , Error가 뜬다.결과를 항상 참으로 만들고 뒷부분을 주석처리 하는 쿼리&#x27; or 1&#x3D;1#&#x27; or 1&#x3D;1--&#x27; or 1&#x3D;1# 넣었을 경우 Error 가 뜨는 것을 알 수 있었다.그러나 &#x27; or 1-1-- 은 모든 자료들을 읽어 오는 것을 알수 있다.좀 더 자세한 정보를 알기위해 쿼리문.......

네이버 사칭 피싱 메일 - 갈수록 고도화 되고 세밀해진다. [내부링크]

본 뉴스를 보면 보안에 대해 잘 모르시는 분들이라면, 안심하고 해당 피싱 메일을 클릭하여 개인정보탈취 및 금전적이 피해를 가질 수 있다고 생각이든다. 요즘은 본 사이트와 매우 비슷하여 보안에 대해 조금이라도 관심있는분들이라도 쉽게 속을 수도 있다. 이를 예방하기 위해 피싱 메일 구별하는 방법을 몇 가지 정도는 알아야 한다고 생각한다.1. 생년월일, 사회보장번호, 계좌번호, 로그인 정보를 물었다면 의심해야한다. 업무적인 이메일에서는 묻지 않는다.2. 어떤 웹사이트로 연결되는 링크를 클릭하도록 요구한다면, 가자일 확률이 높다.3. 당신의 이름이 아니라 포괄적인 호칭을 칭했으면 의심해야한다. 대부분의 금융기관은 당신.......

개인정보보호법 시행령 개정사항 [내부링크]

개인정보보호법 개정안은 크게 3가지를 개정사항을 둔다.1. 개인정보거버넌스 일원화온라인과 오프라인 모두 사업하는 경우 두법 모두 적용되는 유사 · 복제를 개인정보보호법 관련 규정에 통합망법에만 있는 규정은 &#34;특례&#34;로 만든다.2. 데이터 이용 명확화데이터 이용과 관련한 개인정보 판단기준 보완개인정보와 관련된 개념 체계 명확하게 함데이터 결합을 위한 법적 근거 마련3. 개인정보처리자 책임성 강화가명정보의 안전한 활용 장치 마련가명 정보에 대한 처벌 강화https://www.boannews.com/media/view.asp?idx&#x3D;87246

SQL 인젝션 - Stored(Blog) [내부링크]

난이도 하 SQL Injection 취약한지를 파악하기 위해 작은 따옴표(&#x27;)를 입력해본다.MySQL 데이터베이스를 사용하는 것을 확인할 수 있었고, bee&#x27;)&#x27; 라는 알 수 없는 오류내용이 보인다.&#x27;참&#x27;으로 만들고 뒷부분은 주석을 붙여 결과를 출력해봤지만 이 또한 오류가 뜨는 것을 확인할 수 있다.버프스위트를 통해 입력한 값이 어떤 변수로 들어가는지 확인해본 결과 &#x27;entry&#x27;변수에 들어가는 것을 확인할 수 있다.이번에는 &#x27;123을 입력해봤다. &#x27;bee&#x27;)&#x27; 와 구별하여 &#x27;123&#x27; 따로 오류메시지를 보여준다.작은따옴표의 짝이 맞지 않아서 발생하는 오류이다.&#x27;123 을 sql 구문을 삽.......

Blind SQL 인젝션 [내부링크]

Blind SQL Injection ?쿼리의 결과를 참과 거짓으로만 출력하는 페이지에서 사용하는 공격이다.출력 내용이 참과 거짓 밖에 없어서 데이터베이스의 내용을 추측하여 쿼리를 조작한다.Blind SQL Injection 사용 함수· Substr· ascii· limitSubstr()· 문자열의 일부분을 추출하는 함수· 문자 하나씩 출력하여 이름을 알아내는데 사용· PHP 4이상에서 사용할 수 있다.ascii()· 문자를 아스키코드로 변환· 작은따옴표( &#x27; ) 를 우회하는 변수일 때 문자를 입력하기 위하여 사용limit()· 문자열의 길이를 반환· 문자열의 길이를 알아내면 substr 함수로 문자열을 추측하기 쉬워진다.

Blind Injection - Boolean Based [내부링크]

목적 : 사용자가 입력한 검색어와 일치하는 영화가 데이터베이스에 있는지를 출력한다난이도 하 작은 따옴표( &#x27; )를 입력하여 SQL인젝션이 가능한지를 알아본다.오류메시지가 뜨는 것을 확인할 수 있고, 인젝션이 가능하다.검색란에 결과를 항상 참으로 만드는 쿼리를 넣어본다.&#x27; or 1&#x3D;1#&#x27;The movie exists in our database! 데이터베이스안에 영화가 존재한다&#x27; 이 말은 즉, 참인 결과를 나타낼 때 출력하는 메시지이다.그렇다면 거짓일 경우 결과 또한 확인해본다.&#x27; or 1&#x3D;2#구문에서는 1은 2라고 하지만 현실은 1은 2가아니다. 이 말은 거짓을 뜻하고 다음 쿼리문들을 주석처리한다.&#x27;The movie d.......

NCS - 정보보안 [내부링크]

https://ncs.go.kr/index.do정보보호관리 · 운영 1. 정보보호 거버넌스 구현2. 개인정보보호 거버넌스 구현3. 정보보호 정책 기획4. 개인정보보호 기획5. 보안 위험관리6. 정보보호 계획 수립7. 개인정보보호 운영8. 네트워크 보안 운영9. 애플리케이션 보안 운영10. 시스템 보안 운영11. 관리적 보안 운영12. 물리 보안 운영13. 보안 장비 운영14. 보안성 검토15. 내부 보안 감사 수행16. 협력사 보안 관리정보보안진단 · 분석1. 보안전력수립 컨설팅2. 보안감리3. 보안감사4. 정보보호관리체계 인증5. 정보보호제품 인증6. 보안대책설계 컨설팅7. 정보시스시템 진단8. 정보보호관리체계 심사컨설팅9. 정보보호제품 평가 컨설팅10. 모의해킹.......

Zoom ,제로데이 취약점 [내부링크]

Zoom ?줌 비디오 커뮤니케이션(영어: Zoom Video Communications)은 화상회의 서비스를 제공하는 미국의 기업이다. 화상 회의, 온라인 회의, 채팅, 모바일 협업을 하나로 합친 원격 회의 서비스를 제공한다. 출처 : https://ko.wikipedia.org/wiki/%EC%A4%8C_%EB%B9%84%EB%94%94%EC%98%A4_%EC%BB%A4%EB%AE%A4%EB%8B%88%EC%BC%80%EC%9D%B4%EC%85%98현 세계적으로 1290만명이 Zoom을 이용하는 것으로 알고 있다. 코로나가 발생하기 전에도 많은 이용자들이 있었지만, 코로나가 발생하고 난 후 한국뿐만 아니라, 세계적으로 사용자들이 크게 증가했을 것이며, Zoom을 많이 이용할 것이다. 실제로 한국에서 교육부등, 일부학교가 영상강의에 활용.......

SQL 인젝션 - AJAX/JSON/jQuery [내부링크]

AJAX ?AJAX &#x3D; HTML + JavaScript + JSON난이도 하sqli_10-1.php 페이지는 개발자 도구 또는 /var/www/bWAPP/sqli_10-1.php를 통해 title변수를 사용한 다는 것을 확인할 수 있었다.GET 메소드를 이용하는 것을 보아, URL에 변수 값이 노출이 되는것을 확인할 수 있었다.AJAX 기술을 활용해 Search 하는 기능이 존재하지 않지만, Search를 클릭하지 않고도 검색결과가 뜨는 것을 확인할 수있다.&#x27; or 1&#x3D;1# 쿼리를 통해 모든 자료를 출력할 수 있었다.데이터 테이블 명을 알기 위해 UNION SELECT 구문을 사용해야 되지만, 구문을 사용할려면 , 기존 쿼리에서 호출하는 칼럼 수와 일치해야하는 문제가 있다. 그래서 칼럼 수를 알.......

SQL 인젝션 - Login Form/Hero [내부링크]

난이도 하작은따옴표(&#x27;) 를 삽입하여 데이터베이스의 종류(MySQL)를 확인할 수 있었다.아이디에 항상 참인 결과를 출력해주는 쿼리 &#x27; or 1&#x3D;1# 을 삽입해봤다.비밀번호를 입력하지 않고 아이디에만 쿼리를 입력해도 출력이 되는 것을 확인할 수있다.해당 페이지는 변수를 따로 입력받지 않고 AND 연산자를 사용하여 아이디와 비밀번호를 출력하는 취약점이 존재해서 결과가 출력되는 것이다./var/www/bWAPP /sqli_3.php 위치로 가서 소스코를 확인해 보았다.AND 연산자를 사용하는 것이 보인다. AND 연산자는 OR 연산자보다 우선순위가 높기 때문에 AND 연산자를 먼저 계산하고 무조건 참이 결과를 가져오는 &#x27; or 1&#x3D;1#.......

webhacking.kr 42 [200] [내부링크]

test.txt 파일을 다운로드 받아보면 txt 파일을 다운받을 수 있는 것을 알 수 있습니다.test.txt 파일을 열...

Puzzle #4 : The Curious Mr. X [내부링크]

http://forensicscontest.com/2010/02/03/puzzle-4-the-curious-mr-x패킷을 살펴보시면 IP 10.42.42....

Puzzle #3 : Ann’s AppleTV [내부링크]

http://forensicscontest.com/2009/12/28/anns-appletvApple TV의 고정 아이피는 192.168.1.10 로 구성...

Puzzle #2: Ann Skips Bail [내부링크]

http://forensicscontest.com/2009/10/10/puzzle-2-ann-skips-bail준비물 : Hashcalc.exe https://www.sla...

Puzzle #1 : Ann's Bad AIM [내부링크]

http://forensicscontest.com/2009/09/25/puzzle-1-anns-bad-aim준비물 : hashcalc.exe : https://www.slav...

webhacking.kr 12 [250] [내부링크]

javascript 문제인 것 같아요소스를 확인 해봤습니다.많은 이모티콘들을 확인할 수 있습니다.난독화가 되어...

webhacking.kr 10 [250] [내부링크]

페이지만 봐서는 답을 찾을 수가 없었다. 소스코드를 확인해봤다.한번 클릭 할 때마다 1칸씩 왼쪽으로 이동...

webhacking.kr 61 [200] [내부링크]

id 값이 15자 이상, &quot;(&quot;, &quot;)&quot;, select, from, &quot;,&quot;, by, &quot;.&quot; 문자...

webhacking.kr 59 [200] [내부링크]

JOIN과 LOGIN 부분이 있으니 일단, 가입을 해보았습니다. 가입을 하고나니, 제가 가입했던 계정이...

webhacking.kr 36 [200] [내부링크]

현재 디렉토리에서 vi 편집기를 사용하여 index.php 파일을 편집하는 동안 정전으로 인해 소스 코드가 사라...

webhacking.kr 33-1~10 [200] [내부링크]

view-source를 클릭해보자GET방식으로 get이 hehe이면 next페이지가 출력되는것 같다.Next가 생겼고 누...

webhacking.kr 23 [200] [내부링크]

나의 미션은 &lt;scirpt&gt;alert(1);&lt;/script&gt;을 injcet 삽입하는 것이다.문제를 파악하기 위해 소...

webhacking.kr 20 [200] [내부링크]

문제를 보면 time limit :2 second, 시간제한이 2초인것을 알 수있다. 정답제출을 2초안에 하라는 것 같다....

webhacking.kr 58 [150] [내부링크]

입력창과 send가 보입니다. 아무값이 넣어보겠습니다아무값을 넣었을 경우, command no found, 명령어가 아...

webhacking.kr 47 [150] [내부링크]

&lt;send&gt;를 눌러보겠습니다.&quot;Subject: Subject: Flag of webhacking.kr old-47 chall&quot; 이...

webhacking.kr 32 [150] [내부링크]

문제에 들어가보면 위에 사진처럼 되어있다.많은 유저들의 아이디처럼 보여서 나또한 있나 찾아보았다. 찾...

webhacking.kr 27 [150] [내부링크]

SQL INJECTION 문제인 것같다. view-source를 눌러보자!&lt;전체 소스코드&gt;&lt;중요 소스...

webhacking.kr 25 [150] [내부링크]

-rw-r--r-- 권한이 있는 것으로 보아 리눅스를 사용하고 있는 것을 알 수 있습니다.flag.php, hello.php, i...

webhacking.kr 19 [150] [내부링크]

id 부분에 admin이 자동으로 입력되어 있다. 그대로 제출을 해보았다.you are not admin 이라고 뜬다. 다른...

webhacking.kr 38 [100] [내부링크]

주석 부분을 통해 admin.php를 참고하라는 것 같다.&quot;admin&quot;으로 로그를 해야한다고 적혀있습니다...

webhacking.kr 26 [100] [내부링크]

&lt;전체적인 소스&gt;중요 부분 소스GET 방식으로 들어간 id에 admin을 필터링 하고 있습니다. adm...

webhacking.kr 18 [100] [내부링크]

주요 소스코드만 분석해 보겠습니다.GET방식으로 들어간 no값에 필터링한 것( /, &amp;,select, from, 0...

webhacking.kr 24 [100] [내부링크]

Wrong IP! 라고 적혀있고, view-source가 보인다. 일단 클릭하고 보았다.24번에 대한 소스를 확인할 수 ...

webhacking.kr 17 [100] [내부링크]

아무 입력값을 넣은 후 check 박스 클릭하면 Wrong 창이 뜨는 것을 알 수 있습니다.관리자 도구(F12)를 ...

webhacking.kr 15 [50] [내부링크]

15번을 들어가보시면 바로 alert 창이 뜹니다. 접근 거부라고 뜨고 확인을 누르시면 전 화면으로 돌아가는 ...

webhacking.kr 14 [100] [내부링크]

F12 나 오른쪽 커서눌려서 검사를 누르시면 스키립트를 확인 할 수 있습니다.indexOF 함수는 문자열이 ...

webhacking.kr 01 [내부링크]

https://webhacking.kr/문제는 webhacking.kr에서 풀었습니다.빨간 박스 부분을 분석해보면, 빨간 박스의 ...

md5_compare 231p [내부링크]

단지 비교하는 문제인듯 하다.다양한 값들을 넣어서 시도를했지만, Wrong...소스를 확인해보겠습니다.즉, ...

strcmp 211p [내부링크]

문제 : strcmp 인증우회를 할 수 있다면, 너는 플레그 값을 얻을 수 있다.strcmp로 인증우회하는 문제인 것...

WTF_CODE 154p [내부링크]

소스코드를 해석하는 문제인 듯 합니다.souce_code.ws를 클릭하면 파일을 하나 다운이 됩니다. 오픈하면 읽...

login filtering 133p [내부링크]

문제 : 계정이 있습니다.. 그러나 잠겨있습니다필터링 우회문제입니다.로그인 페이지가 나오고, 해당 소스...

QR CODE PUZZLE 110p [내부링크]

javascript puzzle 문제인 듯 합니다.QR CODE를 퍼즐로 알맞게 맞추면 될 것 같습니다.하지만, 시간...

flee button 84p [내부링크]

button을 누르는게 문제인 것 같습니다.click me! 를 누르고 싶은데, 마우스 커서를 움직일때 마다 click m...

FTZ 3번 [내부링크]

cat명령어를 이용하여 hint안에 내용을 보았습니다.전 문제와 같이 setuid가 걸린 파일을 찾아보았더니 /...

FTZ 2번 [내부링크]

여기 까지는 같다.cat hint로 해서 얻은 hint는 &quot;텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다...

FTZ 1번 [내부링크]

login : level1password : level1ls 명령어를 통해 현재 디렉터리에 리스트를 확인해보자.현재 디렉터...

FTZ 서버 구축 [내부링크]

&lt;파일 다운 경로&gt;Putty 다운로드 -&gt; https://bit.ly/2qxAaYwFTZ 서버 -&gt; https://bit.ly...

LOS - 3[goblin] [내부링크]

goblin기존문제와는 달리 필터링 소스에서 &#x27;, &quot;, &#x60; 쿼터를 필터링 하고 있다.id &#x3D...

LOS - 2[cobolt] [내부링크]

coboltGET 방식으로 얻은 id, pw값이 필터링한 값이 있으면 No Hack 페이지로 나간다.GET방식으...

LOS -1[Gremlin] [내부링크]

Gremlin 소스GET 방식으로 변수id와 pw값들어가게 되는데, 그 변수에 특정문자로 필터링된 &#x27;prob&...

어셈블리어의 기초 [내부링크]

어셈블리어 ?컴퓨터는 0,1로만 알아듣는다. 사람은 컴퓨터처럼 0,1로만 쉽게 이해하지 못한다. 그래서 기계...

PE Tools [내부링크]

PE ToolsPE Tools ? 프로세스 메모리 덤프, PE 헤더 Editing, PE Rebuilding 기능을 가진 P...

DLL 이젝션 [내부링크]

DLL Ejection ?DLL Injection의 반대 개념으로 프로세스에 강제 삽입하 DLL 제거DLL 이...

DLL 인젝션 [내부링크]

DLL 인젝션DLL 인젝션 ? 실행 중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 것 // 즉, ...

악의적인 목적으로 사용되는 키로거 [내부링크]

악성 키로거의 목표정보화 사회에서는 &#x27;정보는 돈&#x27; So, 악성 키로거의 목표는 돈 때문이다....

Windows 메시지 후킹 [내부링크]

Hook Hook ? 중간에서 오고가는 정보를 엿보거나 가로채기 위해 초소를 설치 하는 일을 Hook을 건다라...

실전 악성코드와 멀웨어 분석 1-1 [내부링크]

1. https://www.virustotal.com/에 파일을 업로드한 후 보고서를 보자. 기존 안티바이러스 시그니처에 일치...

데이터 3법 통과,변화 [내부링크]

http://it.chosun.com/site/data/html_dir/2020/01/10/2020011002488.html

2018 평창동계올림픽 APT공격, 해킹 [내부링크]

https://www.boannews.com/media/view.asp?idx&#x3D;69042

코로나19 영향,, 피싱,스미싱 [내부링크]

코로나19로 인해 자가격리 및 재택근무 하는 사람들이 늘어나면서, 그를 악용해 개인정보를 탈취, 개인정보...

행정부 개발보안 가이드라인 [내부링크]

구현 단계 보안약점과 분석•설계 단계 보안요구항목과 연관 관계는 다음과 같다분석•설계 단계 보안요구...

이동식 디스크(USB 메모리 등 ) 차단하기 [내부링크]

이동식 디스크 차단이 필요한 이유는 ? 외장 장치를 통해서 나의 소중한 데이터 및 정보들을 복사, 유출 등...

갤럭시 Buds Plus 노트북 Bluetooth 연결 [내부링크]

노트북으로 강의를 듣기 위해 갤럭시 버즈 플러스를 블루투스 연결을 시도 해봣습니다.검색창에 blue라...

쿠키의 개념 [내부링크]

1. 쿠키와 세션을 알아보기전 HTTP프로토콜에 대해HTTP ? 인터넷상에서 데이터를 주고 받기 위한...

isset(), empty() [내부링크]

isset() 과 empty() 공통점 ?두 함수 모두다 변수의 값을 유무를 확인할 수 있는 함수입니다.차이점 ?iss...

htmlspecialchars() [내부링크]

htmlspecialchars() ?· 문장내에 HTML 코드가 들어가는 특수문자를 포함시켜 입력하고 화면으로 출력할...

웹 접속환경 정보 $_SERVER['HTTP_USER_AGENT'] [내부링크]

$_SERVER[&#x27;HTTP_USER_AGENT&#x27;]· 사용자의 웹접속한경 정보를 담고있는 PHP...

접속자 ip 확인 /$_SERVER["REMOTE_ADDR"] [내부링크]

$_SERVER ?· header 정보, 경로, 스크립트 위치등을 포함하는 배열입니다.· 포함하는 목록을 웹 서버...

str_replace() / 문자 바꾸기 [내부링크]

str_replace() 사용법str_replace(&#x27;변경대상 문자&#x27;, &#x27;변경하려는 문자&#x27;, 변수(repla...

magic_quotes_gpc에 대한 이해 [내부링크]

DB를 작업하기 위해 쿼리를 작성하게 되는데, 그 중 우리는 따옴표( &#x27; , &quot;) 그리고 백슬래시/,...

PHP - 변수 [내부링크]

php에서 변수 선언은 $, 즉 달러표시를 해줘야된다.php에서 #,샾은 뒤에 따라오는 것을 해석하지 않는다....

PHP란 무엇인가 ? [내부링크]

Internet에는 크게 Server와 Client가 존재한다.Client은 Web Client, Web Browser 라고 불린다....

CSS3의 문법 - CSS Selector [내부링크]

CSS 구성 방식 및 조건· 선택자 ( Selector) {  속성 : 값 } · 끝에 반드시 ;(세미콜론)을 반드시 붙혀 ...

상속과 우선순위 결정 [내부링크]

CSS 상속의 개념· 상위에 적용된 것은 하위에도 적용됨· 특정하위에 있는 속성은 유지된다. ex) width, ...

CSS 선언방법 [내부링크]

1. inline· HTML 태그 안에데가 적용· CSS파일의 우선순위가 제일 높다2. internal· style 태그로...

class 와 id 속성 [내부링크]

ID · 고유한 속성으로 한 HTML 문서에 하나만 사용 가능· 고유한 ID 값이 있으면 하나하나에 특별...

HTML 구조설계 [내부링크]

디자인 파일 및 기획서등 구조 분석 -&gt; 크게 상단/본문/네비게이션 부분으로 분리 HTML로 구조를 튼...

HTML Layout 태그 [내부링크]

Layout ?-&gt; html 화면을 구성하는 기본적인 모습들을 말한다.-&gt; 상단의 header tag, 하단의 foote...

HTML Tags [내부링크]

HTML Tags 목록 리스트https://www.w3schools.com/html/html_lists.asp속성-&gt; 속성은 요소에 대...

웹서버 [내부링크]

웹서버란 ?-&gt; 클라이언트(웹브라우저)가 요청하는 HTML 문서나 각종 리소스를 전달하는 것이다.-&gt...

browser에서의 웹 개발 [내부링크]

알게 된 몇 가지 특징1. HTML문서는 html이라는 태그로 시작해서 html태그로 끝납니다.2. head는 무...

browser의 동작 [내부링크]

Browser ? 사용자가 서버에 요청한 자료를 브라우저에 표시하는 것&lt;생각해보기&gt;1. 우리가 흔히 ...

웹 Front-End 와 웹 Back-End [내부링크]

Front - End ?-&gt; 사용자에게 웹을통해 다양한 콘텐츠 제공-&gt; 사용자 요청에 따른 동작HTML5 : ...

웹의 동작(HTTP 프로토콜 이해) [내부링크]

HTTP 란 ?서버와 클라이언트가 인터넷상에서 주고받기 위한 프로토콜프로토콜(Protocol) ?데이터 통...

웹 프로그래밍 - 웹 프로그래밍을 위한 프로그램 언어들 [내부링크]

학습내용 &lt;생각해보기&gt;1. 프론트 엔드부터 서버 개발까지 한 가지 프로그래밍 언어를 사용하여 개...

템플릿, 이력서, 사진, 로고, 포스터 디자인 [내부링크]

안녕하세요.오늘은 프로젝트를 하면서 보고서나 발표자료등을 만들때 필요한 사진 및 템플릿을 참고 할 수 ...

KISA [내부링크]

제가 보안을 공부하면서, 참고도 많이하고, 자료도 많이 있는 사이트를 알려드릴려고 합니다.보안을...

다이어그램 사이트 draw.io [내부링크]

제가 프로젝트를 하면서 참고한 사이트를 적을려고 합니다.첫번째 사이트는 구조도 그리기 크롬 플로그인 d...

SQLD 및 각종 데이터자격검정 일정 변경 [내부링크]

안녕하세요코로나 바이러스로 인해 데이터검정센터에서 시행하는 자격검정 일정이 변경 되었습니다.자료들...

SQLD 코로나19 관련 수험자 및 고사장 안내사항 [내부링크]

안녕하세요 쪼밍밍입니다.요즘 코로나 바이러스로 인해 자격증 시험에도 영향을 미치고 있습니다.SQLD ...

SQLD - 데이터 모델과 성능 [내부링크]

SQLD - 데이터 모델과 성능- 정규화1. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 ...

SQLD - 데이터 모델링 [내부링크]

SQLD - 데이터 모델링- 데이터 모델링 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해서 ...

SQLD 준비 [내부링크]

안녕하세요 쪼밍밍입니다.오늘은 국가공인 자격증 SQLD에 대해 알아보겠습니다.모든 내용은 Kdata 데...

애플리케이션 보안 - FTP 보안 [내부링크]

FTP - 파일전송 프로토콜Active 모드와 Passive 모드FTP 연결 메시지 해석TFTPFTP와 TFT...

네트워크 보안 - 최신 네트워크 보안 동향 [내부링크]

ESMESM의 구성요소통합 위협 관리 시스템 (UTM-Unified Threat Management)NAC지능형 지속 ...

네트워크 보안 - VPN [내부링크]

VPNVPN의 기능VPN의 터널링(Tunneling)IPSecIPSec의 구성요소

네트워크 보안 - 침입차단시스템(Firewall - 2(IPtable) [내부링크]

IPtable IPtable 옵션IPtable 체인IPtable 룰IPtable 타깃지정IPtable 규칙 예시

네트워크 보안 - 침입차단시스템(Firewall - 1) [내부링크]

방화벽의 기능방화벽의 장 · 단점방화벽의 규칙방화벽 구조NAT침입탐지 시스템의 패킷 필터링 장 · 단점...

네트워크 보안 - IDS/IPS(Snort,IPS) [내부링크]

SnortSnort 수행요소Snort의 고정된 헤더 옵션Snort 룰 옵션IPS

네트워크 보안 - 네트워크 기반 공격의 이해(2) [내부링크]

DRDos 분산 반사 서비스거부 공격포트스캔1. TCP OPEN 스캔2. TCP Half Open 스캔(...

네트워크 보안 - 네트워크 기반 공격의 이해(1) [내부링크]

네트워크 보안 공격의 분류서비스 거부공격(DOS)DDOS 분산 서비스 거부공격DDOS 공격의 사례...

네트워크 보안 - 네트워크 장비의 이해 [내부링크]

NIC의 기능계층별 장비스위치의 종류VLAN

네트워크보안 - 라우팅 [내부링크]

정적 라우팅, 동적 라우팅라우팅 알고리즘라우팅 프로토콜 필터리 과정라우팅 보안설정 - Extended 액세...

네트워크 보안 - TCP/IP [내부링크]

주요 포트 넘버IPv4 주소 클래스ARP(Address Resolution Protocol)ICMPIPv4 와 IPv6 비교...

보안기사 - 각종 시스템 보안위협 및 대응책 [내부링크]

메모리 영역· 메모리 영역은 크게 2가지로 나뉜다.1. 크기가 고정되는 code, data, bss 영역2. 실행 시 메...

보안기사 - 서버 보안 관리 [내부링크]

이벤트 뷰어Windows 시스템 이벤트 로그의 종류윈도우 감사 정책감사란 ? 사용자의 흔적 또는 운영체제가 ...

보안기사 - 유닉스/리눅스 서버 보안(2) [내부링크]

유닉스 관리자용 명령어umaskpasswd 파일shadow 파일유닉스 계열 접근통제 방법계정 및 패스워드 보호정책...

보안기사 - 유닉스/리버스 서버 보안(1) [내부링크]

UNIX 시스템의 특징UNIX 디렉터리 구조파일 시스템 구조프로세스좀비 프로세스와 고아 프로세스리...

보안기사 - 윈도우 서버 보안(2) [내부링크]

윈도우 레지스트리레지스트리 하이브파일 레지스트리 공격/백업윈도우 명령어제어판(.cpl)2. .msc3. .exe...

보안기사 - 윈도우 서버 보안(1) [내부링크]

윈도우 파일 시스템클러스터윈도우 부팅 순서윈도우 기본 사용자윈도우 기본 그룹윈도우 인증의 구성요소공...

보안기사 - 클라이언트 보안 [내부링크]

악성 프로그램 특성트로이 목마바이러스 세대별 분류컴파일형 악성코드와 스크립트형 악성코드쿠키 값 전달...

보안기사 - 보안 운영체제 [내부링크]

보안 운영체제보안 운영체제 보호기법파일 보호기법보안 운영체제의 보안 기능참조 모니터, 보안 커널, T...

보안기사 - 운영제체 주요 구성기술(2) [내부링크]

기억장치 관리가상기억장치구현 - 구현방법가상기억장치구현 - 사상표 색인방법파일 시스템 관리

보안기사 - 운영제체 주요 구성기술(1) [내부링크]

스레드교착상태교착상태 발생하기 위한 4가지 조건교착상태 4가지 해결 방법임계 영역프로세스 제어 블록(...

보안기사 - 운영체제 개요 [내부링크]

kernel운영체제의 구조운영체제에서 커널모드시스템 호출(System call)운영체제의 기능계층구조 관점의 운...

보안기사 - 전자서명과 PKI(2) [내부링크]

전자서명의 종류암호 및 서명 시스템의 안전성을 유지하는 기반 이론특수 전자서명 방식공개키 기반 구조...

보안기사 - 전자서명과 PKI(1) [내부링크]

전자서명의 공개키 서명방식과 관용 암호방식전자 서명 서비스전자서명의 주요기능공개키 알고리즘과 전자...

보안기사 - 해시함수와 응용 [내부링크]

일방향 해시함수해시함수가 가져야 할 성질주요 해시 알고리즘 비교메시지 인증을 위해 사용되는 기법재전...

보안기사 - 비대칭키 암호(1) [내부링크]

대칭키 암호의 문제 : 키 배송문제키 배송문제 : 키를 보내지 않으면 수신자는 수신한 암호문을 복호화 할 ...

보안기사 -대칭키 암호(2) [내부링크]

블록 암호 알고리즘의 운영모드※DES나 AES를 포함한 어떤 대칭 블록 암호에도 적용할 수 있다.ㆍ초...

보안기사 - 대칭키 암호(1) [내부링크]

블록암호블록 알고리즘 종류와 특징※국내 기관에서 개발된 블록 암호 알고리즘Feistel 과 SPN 구조...

보안기사 암호학개요(3) [내부링크]

디지털 저작권 관리(DRM)※콘텐츠 : 지적재산권으로 보호되어야 할 정보의 단위로 일반적으로 패키지를 ...

보안기사 암호학개요(2) [내부링크]

정보보호 서비스에 대한 보호 메커니즘대칭키와 공개키(비대칭키) 암호시스템암호분석의 분류암호 알고리즘...

보안기사 암호학개요(1) [내부링크]

보안기사 암호학암호시스템 관련 용어치환암호 와 전치암호스트림 암호 와 블록 암호스트림암호...

보안기사 정보보호관리의 개념 [내부링크]

보안기사 정보보호관리의 개념정보보호의 목표수동적 공격 과 적극적 공격※수동적 공격은 탐지가 어...

SQL 인젝션 - GET/Search [내부링크]

SQL 인젝션 ?사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점이다.GET/Search난이도 하작은 따옴표(&#x27;)의 역할데이터베이스에서 작은따옴표로 문자 데이터를 구분하기 때문에, 웹 서버에서 데이터베이스 서버에 질의하는 쿼리에 문법 오류가 발생하게 된다.이를 통해 서버가 어떤 데이터베이스 종류를 사용하는지 알 수 있다.데이터베이스의 종류를 알아야 하는이유데이터베이스는 종류에 따라 SQL구문이 차이가 있기 때문에 알아야 한다작은따옴표(&#x27;)를 입력하여 오류가 발생했고, 웹 서버는 MYSQL을 사용하고 있는 것을 알수 있.......

SQL 인젝션 - POST/Search [내부링크]

난이도 하GET방식은 URL에 변수에 입력된 데이터값이 그대로 노출되지만,POST 메서드로 HTTP 연결 요청을 보낼 경우 URL에 노출되지 않는다.그러나 검색란에 사용되는 변수가 취약하므로, SQL쿼리를 입력하면 취약점 여부를 확인할 수 있다.https://blog.naver.com/ster098/221885072665POST/Search 파트에서는 GET방식과 매우 유사하다. 그러므로 GET/Search에서 했던 과정까지는 다 수행했던 가정하에 진행했다.알아낸 사용자계정정보를 통해 2차 공격을 시도할 수 있다. 해시값으로 변환된 비밀번호를 평문으로 변환하여 사용자 계정을 탈취한다. 해시값(6885858486f31043e5839c735d99457f045affd0)을 &#x27;sha1&#x27; 타입을 통해 bug 평.......

SQL 인젝션 - GET/Select [내부링크]

난이도 하 sqli_2.php 페이지의 경우 변수 값이 URL이 그대로 노출되는 것으로 보아, GET메서드를 이용하여 HTTP 연결 요청하는 것을 확인할 수 있다.movie라는 변수를 주고 값을 숫자형으로 입력 받고 있다.movie 변수값에 작은따옴표를 입력해보면 오류가 뜨는 것을 확인 할 수 있다. SQL Injection이 가능하다는 것을 알 수 있다.GET/Search 페이지에서 했던 것처럼 칼럼의 수를 알기 위하여 UNION SELECT ALL 1,2,3,4,5,6,7#을 해보았다.다른 정보들도 얻기위하여 아래와 같이 입력해보앗다.0 union select null,database(),@@version,@@datadir,null,null,null database() : 데이터베이스 이름을 알려주는함수@@datadir : 데이터베이스 서.......

SQL 인젝션 - POST/Select [내부링크]

난이도 하 post 메소드를 사용하여 요청하고 있기 때문에 URL에 변수가 나타나지 않는다. 버프스위트를 이용해 변수명은 moive이며, 숫자형 값만 입력 받는 것같다. moive의 변수 값에 문자를 삽입하면 오류가 뜨는 것을 확인할 수 있다.작은따옴표(&#x27;)또한 오류가 뜨는 것을 확인할 수 있다.데이터베이스 명, 데이터베이스 서버 버전, 서버에서 MySQL 위치경로를 확인해보기 위해 UNION SELECT구문을 사용하였다.0 union select null,database(),@@version,@@datadir,null,null,nullurl 인코딩 &#x3D;&#x3D;&#62; 0+union+select+null%2cdatabase()%2c%40%40version%2c%40%40datadir%2cnull%2cnull%2cnull 사용자의 호스트이름, 사용자 이.......

HTML 인젝션 - Reflected(GET) [내부링크]

HTML Injection -Reflected (GET) - 난이도 하HTML태그를 텍스트 필드에 입력합니다.First name : &#60;h1&#62;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#60;/h1&#62;Last name : &#60;img src&#x3D;http//[bee-box IP]/bWAPP/images/bee_1.png&#62;사용자는 HTML 태그가 삽입된 페이지를 정상적인 페이지로 오해하게 된다.밑에 사진은 GET 메서드로 요청했기 때문에 URL에 그대로 노출되는 것을 확인할 수 있습니다.난이도 중First name : &#60;h1&#62;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#60;/h1&#62;Last name : &#60;img src&#x3D;http//[bee-box IP]/bWAPP/images/bee_1.png&#62;결과는 &#34;난이도 하&#34; 에.......

HTML 인젝션 - Reflected(POST) [내부링크]

난이도 하POST 메소를 사용하여 데이터를 전송합니다.Firstname : &#60;h1&#62;Success&#60;/h1&#62;Lastname : &#60;img src&#x3D;http://[bee box IP]/bWAPP/images/bee_1.png&#62;Go 버튼을 누르고 확인 해보면 태그에 입력한 내용이 출력이되고 GET방식과 달리 URL에 노출이 되지 않는 것을 확인할 수 있습니다.난이도 중 Firstname : &#60;h1&#62;Success&#60;/h1&#62;Lastname : %3Cimg src&#x3D;http://[bee box IP]/bWAPP/images/bee_1.png%3E그대로 입력을 하고 Burp suite으로 입력 값을 확인하게 되면 &#34;&#60;&#34; , &#34;&#62;&#34;이 인코딩된 것을 확인할 수 있다.Burp suite에서 인코딩 된것을 확인하고 Forward를 눌러보.......

기타 인젝션 공격 -iframe 인젝션 [내부링크]

iframe 인젝션· iframe은 HTML 문서 안에서 또 다른 HTML 문서를 출력하는 태그로, 어느 위치든 상관없이 인제션 공격을 할 수 있다.· iframe 인젝션은 독립적으로 만들 수 있어서 HTML 인젝션 중에서도 공격에 자주 사용된다.· HTML 익젝션에서 사용하는 태그와 마찬가지로 페이지 내에 iframe 태그를 주입하는데, 주로 악성 URL을 삽입한 후 사이즈를 0으로 설정하여 숨기는 방법을 사용한다. 따라서 사용자가 의도하지 않은 악성 웹 사이트에 접속하거나 경고창을 띄울 수 있다.난이도 하&#x27;iframei.php&#x27;페이지는 GET 방식으로 데이터를 전송받으므로 URL에 변수를 노출한다.&#60;변수&#62;· ParamUrl : 연결할 주소를 받는다.......

기타 인젝션 공격 - OS 커맨드 인젝션 [내부링크]

OS 커맨드 인젝션 ?취약한 변수로 시스템 명령어를 주입하여 서버 운영체제에 접근하는 공격이다.난이도 하DNS를 조회하는 시스템 명령어인 nslookup을 사용한다. * 파이프라인(|) : 파이프라인 왼쪽의 출력을 파이프라인 오른쪽의 입력으로 연결시켜주는 기능* 세미콜론(;) : 여러 명령어를 한줄에서 실행 시킬 수 있음. ex) A;B : A 명령어 실행 후 B 명령어 실행* 더블 엠퍼센트(&#38;&#38;) : 첫 번째 명령어 성공 시 다음 명령어 수행 (실패 시 다음 명령어 수행 안함)* 더블 버티컬바(||) : 첫 번째 명령어가 실패해도 다음 명령어 수행 (성공 시 다음 명령어 수행 안함)[출처] [비박스] OS Command injection + blind|작성자 shioni.......

기타 인젝션 공격 - PHP 코드 인젝션 [내부링크]

난이도 하 &#x27;message&#x27;를 클릭해보면 test라는 text가 출력이 되고, URL에 message&#x3D;test라고 문자열이 노출되는 것으로, GET메서드로 요청하고 있는 것을 확인할 수 있다. PHP에서는 exec(), eval() 함수를 사용한 경우 세미 콜론(;)을 사용하여 다른함수를 실행하는 취약점이 있다.취약점이 유무를 확인하기 위하여 세미콜론과 system() 함수를 사용한다.system()함수는 문자열 형태의 명령어를 인자 값으로 받아서 명령어를 실행한다.message 변수에 Success문자열을 입력한 후, (;)세미콜론으로 system함수의 &#x27;whoami&#x27; 를 실행 시켰다.문자열은 그대로 출력이되고, &#x27;whoami&#x27;통하여 &#x27;www-data&#x2.......

기타 인젝션 공격 - SSI 인젝션 [내부링크]

SSI(Servr-Side Includes) ?SSI는 HTML 페이지의 전체 코드를 수정하지 않고 공통 모듈 파일로 관리하며 동적인 내용을 추가하기 위하여 만들어진 기능이다.일반적인 HTML 태그외에 웹서버에서 제공하는 특별히 확장된 기능들을 말한다.· 방문자수를 세거나, 홈페이지의 로고를 수정하는 간단한 기능을 추가할때 사용· SSI를 사용하는 웹 페이지의 경우 SSI 지시어를 처리하기 위한 &#x27;.shtml&#x27; 확장자 파일을 생성SSI 를 사용한 사이트 예시· HTML 문서이면서 페이지내에 text카운터가 포함되어 있다.· 문서의 확장자가 html이 아니라 shtml이다.· 접속한 사용자의 IP주소나 사용하는 브라우저 이름등 여러가지 사용자 관련 정보를 H.......

인젝션 Injection [내부링크]

인젝션 (Injection) ?공격자가 악의적으로 주입한 데이터를 웹 애플리케이션에서 데이터베이스의 정상적인 쿼리 일부로 인식하고 실행할 때에 발생하는 취약점으로, 데이터를 입력받거나 데이터베이스 정보를 요청하는 곳에는 인젝션 공격이 가능하다.인젝션은 공격방법이나 사용언어에 따라 종류가 달라진다. 밑에 사진의 인젝션이 대표적인 유형이다.HTML Injection, SQL Injection, OS command Injection, LDAP Injection인젝션은 OWASP에서 발표한 웹 애플리케이션의 취약점 TOP10에서 가장 많이 많이 발생하고, 보안상 영향을 크게 줄 수 있는 취약점이다.

HTML 인젝션 [내부링크]

HTML 인젝션 ?코드 인젝션 공격의 하위 개념으로, 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격이다.HTML Injection 공격기법은 사용자가 요청한 페이지에 악의적으로 html tag를 삽입(insert)하여 공격하는 기법이다.HTML Injection 공격은 반사기법과 저장기법으로 나뉜다.1. 반사기법(Reflected)URL에 악의적인 HTML 태그를 삽입하여 링크를 클릭한 사용자의 PC에서 HTML 태그가 실행되게 하는 공격이다.특히, GET 방식으로 데이터를 전송할 경우 URL에 변수명과 입력 값을 노출한다.2. 저장기법(Stored)악의적인 HTML 태그를 데이터베이스에 저장하여 저장된 태그 내용을 확인한 사용자의 PC에 HTML 태그가 실행되게 하.......