본문 바로가기
프로그래밍/해킹

해킹 공부할 때 참조하면 좋은 것

by 만디기 2024. 6. 26.

1. 웹 해킹

1) Python

- tqdm : for문 쓸 때 범위 바깥에 씌우면 진행도를 시각적으로 보여주는 라이브러리

- requests : 웹 요청을 보낼 때 사용하는 라이브러리

- dir(객체) : 객체가 가지고 있는 속성/메소드의 정보를 리스트로 볼 수 있음

 

2) 데이터베이스

- xml 내장함수인 extractvalue()는 에러 발생 시 출력되는 길이가 32Byte로 제한된다.

(https://learntoshare.tistory.com/23)

 

3) 자바스크립트

- URL 객체를 통해 URL을 직접 정규화할 수 있으며, protocol, hostname 등 URL의 각종 정보를 추출할 수 있다.

XSS 필터링 우회 공격 구문을 작성하기 위해 직접 URL을 정규화해보며 테스트하는 것이 가능하다.

 

- 자바스크립트의 언어적 특성을 활용하면 6개의 문자([, ], (, ), !, +)만으로 모든 동작을 수행할 수 있다.

( JSFxxx : https://namu.wiki/w/JSFuck )

 

4) HTTP

HTTPLeaks : 웹사이트에서 HTTP 요청이 유출될 수 있는 가능한 방법을 열거한 곳.

 

5) 툴 모음

- 드림핵 툴즈 : https://tools.dreamhack.games/

 

dreamhack-tools

 

tools.dreamhack.games

(1) My Request : 웹 서비스에 대한 요청을 출력

(2) Request Bin : 사용자 접속 기록을 남겨 이후에 확인할 수 있다.

(3) Cyber Chef : GUI로 여러 종류의 인디코딩과 암복호화를 지원한다.

 

- URL 인코딩/디코딩 : https://www.urlencoder.org/ko/

 

URL 인코딩 및 디코딩 - 온라인

URL 인코딩 형식으로 인코딩해보세요. 아니면 다양한 고급 옵션으로 디코딩해보세요. 저희 사이트에는 데이터 변환하기에 사용하기 쉬운 온라인 도구가 있습니다.

www.urlencoder.org

 

- 온라인 컴파일러 사이트

(1) https://onecompiler.com/

 

OneCompiler - Write, run and share code online | Free online compiler with 70+ languages and databases

Users form world's top companies and schools + thousands of other companies and schools

onecompiler.com

(2) https://www.mycompiler.io/ko

 

myCompiler - C, C++, 자바, 파이썬, 고, NodeJS 및 기타 언어를 위한 온라인 IDE

myCompiler를 사용하여 자주 사용하는 프로그래밍 언어를 온라인으로 실행하세요.원하는 프로그래밍 언어로 코드를 편집, 컴파일 및 실행할 수 있는 간단하고 사용하기 쉬운 IDE

www.mycompiler.io

 

- SQL 쿼리를 테스트할 수 있는 사이트

(1) https://sqlfiddle.com/

 

SQL Fiddle - Online SQL Compiler for learning & practice

SQL Fiddle Welcome to SQL Fiddle, an online SQL compiler that lets you write, edit, and execute any SQL query. Choose which SQL language you would like to practice today: AI Chat SQL Fiddle is now enhanced by an AI chat powered by ChatGPT. The chat is loca

sqlfiddle.com

(2) https://sqltest.net/ : 홈페이지에 레퍼런스 사이트로 연결되는 링크도 있다.

 

SQL Test

Free Online SQL Test Tool

sqltest.net

(3) https://www.sqlines.com/online : SQL끼리 변환해주는 사이트이다.

 

SQLines - Online SQL Conversion - SQL Scripts, DDL, Queries, Views, Stored Procedures, Triggers

 

www.sqlines.com

 

- MongoDB 매뉴얼 : https://www.mongodb.com/ko-kr/docs/manual/

 

MongoDB는 무엇인가요? - MongoDB 매뉴얼 v7.0

MongoDB는 애플리케이션 개발 및 확장이 용이하도록 설계된 문서 데이터베이스입니다. 다음 환경에서 MongoDB를 실행할 수 있습니다. MongoDB Atlas : 클라우드에서 MongoDB 배포를 위한 완전 관리형 서비

www.mongodb.com

 

- Redis 매뉴얼 : https://redis.io/docs/latest/develop/reference/

 

Redis reference

Specifications and protocols

redis.io

- 셀레늄 (Selenium) : 웹 애플리케이션 테스팅에 사용되는 파이썬 모듈로, API를 통해 웹 드라이버 (크롬, 사파리 등)를 사용할 수 있다. 셀레늄은 요청과 응답만을 처리하는 라이브러리와 다르며, 응답에 포함된 Javascript, CSS와 같은 웹 리소스를 웹 드라이버를 통해 해석하고 실행하기 때문에 웹 브라우저를 통해 페이지를 방문하는 것과 같은 역할을 한다.

 

- couchDB 매뉴얼 : https://docs.couchdb.org/en/latest/api/index.html

 

- MAC 제조사 코드(앞 3자리)를 넣으면 어디 칩인지 알아낼 수 있다 : https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries

 

※ 깨알 지식

- 파이썬 IDLE에서 프로그램 실행 시 매개변수 넣는 법 : Run - Run... Customized (단축키 Shift + F5)

- TTL 값으로 해당 서버의 OS를 알아낼 수 있다. 이 때문에, 보안에 투자를 많이 하는 기업의 경우에는 TTL 값을 바꿔 놓아 서버가 사용하는 OS를 유추하지 못하게 한다. : https://namu.wiki/w/TTL

- HTML 엔티티(Entity) : HTML에서 예약어나 심볼, 특수기호를 나타내고 싶을 때 쓸 수 있는 엔티티. 이를 이용하여 문자열 검사를 우회하는 데 이용할 수 있다.

 

※ 참조 사이트

- 구글은 CSP를 올바르게 정의하였는지 검사하기 위해 CSP Evaluator를 제공한다.

 

2. 시스템 해킹

- 리눅스 bash 셸 명령어 : https://mug896.github.io/bash-shell/index.html

- 리눅스 매뉴얼/시스템 콜

1) https://linux.die.net/man/

2) https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/

 

- 디버거

1) gef : https://github.com/hugsy/gef 

2) peda : https://github.com/longld/peda 

3) pwngdb : https://github.com/scwuaptx/Pwngdb 

4) pwndbg : https://github.com/pwndbg/pwndbg

 

- 아키텍처별로 자주 사용되는 셸코드 모음 : https://shell-storm.org/shellcode/index.html

- pwntools : 시스템 해커들이 익스플로잇에 쓰이는 함수들을 집대성하여 작성한 python 모듈. 

그런데 이 모듈은 보통 linux에서 설치해서 쓰는 것 같고, 맥북에 설치하려면 방법이 없진 않은데 시행착오를 많이 거쳐야 하는 것 같다.

(https://github.com/Gallopsled/pwntools), (https://docs.pwntools.com/en/latest/)

 

- \x : 문자로 16진수를 나타낼 때의 표현

▶ 드림핵 툴즈 변환 : From Hex, Delimeter : \x

 

- 아스키 코드 : https://namu.wiki/w/%EC%95%84%EC%8A%A4%ED%82%A4%20%EC%BD%94%EB%93%9C

▶ URL에서 사용하는 URL escape code의 경우, % 뒤에 아스키 코드의 hex 값을 붙여 준 것이다.

(https://namu.wiki/w/URL%20escape%20code)

 

- one gadget : https://github.com/david942j/one_gadget

원 가젯(one-gadget) 또는 magic_gadget 은 실행하면 셸이 획득되는 코드 뭉치를 말한다. 기존에는 셸을 획득하기 위해 여러 개의 가젯을 조합해서 ROP Chain을 구성하거나 RTL 공격을 수행했지만, 원 가젯은 단일 가젯만으로도 셸을 실행할 수 있는 매우 강력한 가젯이다.

참조 : https://juntheworld.tistory.com/85

* 용어

- 허니팟 : 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템을 의미한다. 예를 들어, 네트워크 상에 특정 컴퓨터를 연결해 두고 해당 컴퓨터에 중요한 정보가 있는 것처럼 꾸며두면, 공격자가 해당 컴퓨터를 크래킹하기 위해 시도하는 것을 탐지할 수 있다.

(https://www.itworld.co.kr/news/120233)

 

* 이외 링크

- 정규식

(1) Regexr

(2) regex101 : Refexer는 자바스크립트와 PHP 밖에 지원을 안 하지만, 이 사이트는 보다 다양한 언어를 지원한다.

(3) Regexplant

(4) Regexper : 정규표현식을 그림(도식)으로 표현한다.

(5) Rubular : Ruby 기반 정규식

(6) 정규표현식 샘플 모음 사이트 : https://regexlib.com/

 

- exploit 참고 사이트 : https://jennysgap.tistory.com/entry/exploit-%EC%B0%B8%EA%B3%A0-%EC%82%AC%EC%9D%B4%ED%8A%B8

 

- 취약점/약점 모음

Exploit DB : 프로그램, 운영체제, 데이터베이스, 전송 및 보안장비/운영체제에 대한 취약점 분석 코드 제공

kali linux에 exploit-db에서 제공하는 취약점 코드가 내장되어 있다 : https://easy7.tistory.com/371

https://www.cve.org

https://cwe.mitre.org

https://www.cvedetails.com/vulnerabilities-by-types.php

 

- 버그 바운티 사이트 : 대부분의 규모 있는 기업들은 버그바운티 프로그램을 운영하고 있다.

이에 대한 자세한 내용을 보려면 기업 이름 + 버그바운티를 검색하면 된다.

 

- 보안 업체의 제품 소개 스펙 문서만 보아도 많은 도움이 된다.

 

- 국가별 IP주소 대역별 현황

 

- https://www.iana.org/

 

- Threat Map

실시간 DDoS 공격 현황

카스퍼스키 Threat Map

Fortinet

Radware

- https://snort.org/

- https://ctftime.org/

 

- Burp Suite

'프로그래밍 > 해킹' 카테고리의 다른 글

Exercise: SQL Injection Bypass WAF  (0) 2024.07.02
Bypass WAF  (0) 2024.07.02
DBMS Fingerprinting  (0) 2024.07.01
[WHA-S] Exercise: Blind SQL Injection Advanced  (0) 2024.06.30
맥북 시스템 해킹(Pwnable, Reversing) 환경 구성  (0) 2024.06.26