목록분류 전체보기 (8)
No idea
저번 글에 이어서 진행하도록 하겠습니다. 다음으로 Discord 모듈을 설치해야합니다. 디스코드 모듈을 Import해서 디스코드 봇 스크립트를 작성하는 것이기 때문에 필요합니다. cmd에서 설치를 해야 하는데, 저는 운영체제가 윈도우라서 윈도우 cmd창을 열었습니다. 그 다음으로 명령어를 칩니다. pip install discord 라고 쳐 주시면 다운로드가 시작 됩니다. 설치가 완료되면 이제 파이참을 열어서 프로젝트 생성 후 파이썬 소스파일을 생성합니다. 저는 firstdiscord.py라고 생성했습니다. 소스코드를 분석해보면 import문을 이용해 아까 설치했던 discord모듈을 불러옵니다. client객체를 선언해주고 이제 봇이 무언가를 동작하는 효과를 주고 싶기 때문에 효과마다 @client.e..
먼저 만들기 전에 Discord에 대해서 간략히 설명해드리면 스타트업 회사에서 모바일 MOBA 게임인 Fates Forever 를 지원하기 위해 2015년 5월에 출시한 인스턴트 메신저입니다. 게이밍 공동체를 위해 설계된 VoIP 응용 소프트웨어의 하나이고, 디스코드는 마이크로소프트 윈도우, macOS, 안드로이드, iOS, 리눅스, 웹 브라우저에서 실행이 됩니다. 준비할 것은 디스코드 계정과 서버는 필수고, 파이썬 (저는 참고로3.7입니다.)과 파이썬 언어로 스크립트를 작성하기 때문에 파이참이라는 개발 툴이 필요할 것 같습니다. 물론 파이참 말고도 많으니 취향에 맞게 준비해주세요. 마지막으로 디스코드 모듈이 필요한데 나중에 설치하는 법을 알려드리겠습니다. 디스코드 설치 되어 있다는 것과 계정과 서버가 ..
CGI(Common Gateway Interface)는 공용 게이트웨이 인터페이스를 뜻 하는데, 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합이라고 위키피디아에 써 있네요. 존재하는 많은 웹 서버 프로그램은 CGI의 기능을 이용할 수 있는데, 오늘은 간단하게 CGI를 통해 파이썬과 웹 서버(아파치)를 연동시켜서 웹 브라우저에 파이썬 소스코드에 대한 결과가 눈에 보이게 하기 위해 간단한 실습을 해봅시다. 첫 번째로, 아파치 서버의 환경설정 파일을 수정해야됩니다.많은 파일들 중, httpd.conf 라는 파일의 내용을 수정해야되는데, C:/Bitnami/wampstack-7.1.15-0/apache2/conf/httpd.conf 대부분 이 경로에 위치하고 있겠지만, 행여나 다른 위치에 계신 분들은 ..
vscode로 PHP를 공부하려 했는데 php파일을 만들자마자 "PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting" 이런 오류가 뜨면서 실행이 안되더라구요.하지만 해결책을 찾았기에 여기다 글을 올립니다. 우선 그 전에 VScode에서 PHP 작업을 하고 싶다면PHP IntelliSense, PHP Debug 확장 패키지 정도는 깔려있어야합니다.그리고 PHP환경변수 설정도 제대로 하셨는지 확인하시고 이제 본격적으로 오류를 해결하겠습니다. 우선 VScode의 기본설정 -> 설정 -> 확장 -> PHP까지 찾아주시고 PHP vaildate: Executable Path밑에 있는 ..
fetch API는 아직까진 비교적 최신 기능에 속합니다. 따라서 아직 지원되지 않는 브라우저를 사용자가 사용하는 경우 fetch가 동작하지 않을 수 있습니다. can I use 라는 웹사이트에서 지원되지 않는 브라우저가 무엇 무엇이 있는지 알아볼 수 있는데, fetch를 검색하니까 의외로 많은 브라우저들이 fetch를 지원하지 않는다고 나오네요.(빨간 표시가 지원하지 않는다는 뜻)이런 문제점을 해결하기 위해 지원하지 않는 브라우저에도 fetch api를 사용할 수 있게 만드는 것이 'pollyfill' 입니다.polyfill을 이용하면 fetch API를 지원하지 않는 웹브라우저에서도 이용할 수 있습니다. 지원되지 않는 브라우저에서 코드가 실행되면 polyfill 이 활성화되서 대신 동작하게 됩니다. ..
fetch를 소개하기에 앞서 ajax를 한 문장으로 요약하면 리로드 없이 웹서버에게 정보를 요청해서 부분적으로 정보를 갱신해주는 기술이라고 생각하면 될 것 같습니다. 이제 fetch에 대해 설명을 드리자면 그 동안 WEB에서 어떤 리소스를 비동기로 요청하기 위해서는 XHR(XML HTTP Request)객체를 사용했었는데 많은 단점들이 발견되고, 이를 보완하기 위해서 Fetch API를 도입하였는데 이는 HTTP 요청에 최적화 되어 있고 상태도 잘 추상화 되어 있고, Promise를 기반으로 되어 있기때문에 상태에 따른 로직을 추가하고 처리하는데에 최적화 되어 있습니다. fetch('사과'); fetch 함수는 예를 들어 저렇게 사과라는 인자로 전달된 데이터를 서버에 요청하는 역할을 합니다. fetch(..
우선 피해자(window7)의 환경에서 ipconfig 라는 명령어를 사용해 피해자의 IP주소와 기본 게이트웨이를 알아냅니다. 피해자 ip: 192.168.81.132기본 게이트웨이: 192. 168.81.2 그리고 저번 글에서 설명 드렸던 arp -a 명령어를 사용해서 피해자의 바뀌기 전 물리적 주소를 확인해주고 이제 공격자PC(kail) 로 넘어와서 ifconfig 명령어를 사용해서 공격자 자신의 mac주소가 99인 것을 확인합니다. (나중에 mac주소 비교위해) 그런 다음 본격적으로 arp 스푸핑 공격을 시행합니다.여기서 ettercap 도구를 사용하는데 , 명령어들을 풀이하자면-T : 텍스트 옵션 eth0 : 공격자(자신)-M : 중간자공격 옵션 arp: remote /기본게이트웨이// /피해자i..
ARP spoofing 을 알아보기 전에 ARP에 대해서 알아봅시다 ARP( Address Resolution Protocol ) : 네트워크 상에서 ip 주소를 물리적 네트워크 주소(mac주소)로 맵핑하기 위해 사용하는 프로토콜. arp 명령어들(대표적인 것만)arp -a : 현재 모든 arp 테이블을 확인.arp -s ip주소 mac주소 : arp 테이블에 ip주소에 대한 mac주소를 수동으로 입력해 줌.arp -d : 생성되어 있는 모든 arp테이블을 지움. ARP spoofing : 근거리 통신망(LAN)환경에서 ARP 메시지의 ip와 대응하는 mac주소를 조작해 공격대상에게 전송하는 공격 기법. - 해당 ARP 메시지를 수신 받은 희생자는 잘못된 ARP 테이블 정보를 갱신하게 됨.- ARP 테이..