.. | ||
buckets | ||
electron-desktop-apps | ||
php-tricks-esp | ||
tomcat | ||
403-and-401-bypasses.md | ||
aem-adobe-experience-cloud.md | ||
angular.md | ||
apache.md | ||
artifactory-hacking-guide.md | ||
bolt-cms.md | ||
cgi.md | ||
code-review-tools.md | ||
dotnetnuke-dnn.md | ||
drupal.md | ||
flask.md | ||
git.md | ||
golang.md | ||
grafana.md | ||
graphql.md | ||
gwt-google-web-toolkit.md | ||
h2-java-sql-database.md | ||
iis-internet-information-services.md | ||
imagemagick-security.md | ||
jboss.md | ||
jira.md | ||
joomla.md | ||
jsp.md | ||
laravel.md | ||
moodle.md | ||
nginx.md | ||
nodejs-express.md | ||
put-method-webdav.md | ||
python.md | ||
README.md | ||
rocket-chat.md | ||
special-http-headers.md | ||
spring-actuators.md | ||
symphony.md | ||
tomcat.md | ||
uncovering-cloudflare.md | ||
vmware-esx-vcenter....md | ||
waf-bypass.md | ||
web-api-pentesting.md | ||
werkzeug.md | ||
wordpress.md |
80,443 - 웹 Pentesting 방법론
htARTE (HackTricks AWS Red Team Expert)를 통해 **제로부터 영웅이 되는 AWS 해킹을 배우세요**!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하고 싶다면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 구매하세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 Discord 그룹 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - 저희가 채용 중입니다! (포괄적인 폴란드어 작문 및 구사 능력 필요).
{% embed url="https://www.stmcyber.com/careers" %}
기본 정보
웹 서비스는 가장 일반적이고 광범위한 서비스이며 다양한 종류의 취약점이 존재합니다.
기본 포트: 80 (HTTP), 443(HTTPS)
PORT STATE SERVICE
80/tcp open http
443/tcp open ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
웹 API 안내
{% content-ref url="web-api-pentesting.md" %} web-api-pentesting.md {% endcontent-ref %}
방법론 요약
이 방법론에서는 도메인(또는 서브도메인)을 공격할 것으로 가정합니다. 따라서 발견된 각 도메인, 서브도메인 또는 스코프 내부에 있는 웹 서버에 대해 이 방법론을 적용해야 합니다.
- 먼저 웹 서버에서 사용된 기술을 식별합니다. 기술을 성공적으로 식별하면 나머지 테스트 중에 고려해야 할 요령을 찾아보세요.
- 해당 기술 버전의 알려진 취약점이 있나요?
- 잘 알려진 기술을 사용 중인가요? 더 많은 정보를 추출할 수 있는 유용한 요령이 있나요?
- 실행할 전문 스캐너가 있나요 (예: wpscan)?
- 일반 목적의 스캐너를 실행합니다. 무언가를 발견할지 또는 흥미로운 정보를 찾을지 알 수 없습니다.
- 초기 확인부터 시작하세요: 로봇, 사이트맵, 404 오류 및 SSL/TLS 스캔(HTTPS인 경우).
- 웹 페이지를 스파이더링합니다: 가능한 모든 파일, 폴더 및 사용 중인 매개변수를 찾는 시간입니다. 또한 특별한 발견을 확인하세요.
- 브루트 포싱이나 스파이더링 중에 새 디렉토리가 발견될 때마다 해당 디렉토리를 스파이더링해야 합니다.
- 디렉토리 브루트 포싱: 발견된 모든 폴더를 대상으로 브루트 포스를 시도하여 새 파일 및 디렉토리를 찾으세요.
- 브루트 포싱이나 스파이더링 중에 새 디렉토리가 발견될 때마다 해당 디렉토리를 브루트 포싱해야 합니다.
- 백업 확인: 발견된 파일의 백업을 찾을 수 있는지 테스트하고 일반적인 백업 확장자를 추가하세요.
- 매개변수 브루트 포싱: 숨겨진 매개변수를 찾으세요.
- 모든 사용자 입력을 수용하는 모든 엔드포인트를 식별한 후 해당하는 취약점을 확인하세요.
- 이 체크리스트를 따르세요
서버 버전 (취약점 있음?)
식별
실행 중인 서버 버전에 대한 알려진 취약점이 있는지 확인하세요.
응답의 HTTP 헤더 및 쿠키는 사용 중인 기술 및/또는 버전을 식별하는 데 매우 유용할 수 있습니다. Nmap 스캔은 서버 버전을 식별할 수 있지만 whatweb, webtech 또는 https://builtwith.com/**:**와 같은 도구도 유용할 수 있습니다.
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
웹 응용 프로그램 버전 취약점을 검색하십시오
WAF 여부 확인
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
웹 기술 트릭
다양한 잘 알려진 기술에서 취약점을 찾는 몇 가지 트릭:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Drupal
- Flask
- Git
- Golang
- GraphQL
- H2 - Java SQL database
- IIS 트릭
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (php has a lot of interesting tricks that could be exploited)
- Python
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
같은 도메인이 다른 포트, 폴더 및 서브도메인에서 다양한 기술을 사용할 수 있다는 것을 염두에 두십시오.
웹 응용 프로그램이 이전에 나열된 잘 알려진 기술/플랫폼 또는 다른 기술을 사용하는 경우, 인터넷에서 새로운 트릭을 검색하는 것을 잊지 마십시오 (그리고 저에게 알려주세요!).
소스 코드 검토
응용 프로그램의 소스 코드가 github에 제공되는 경우, 응용 프로그램의 백색 상자 테스트를 진행하는 것 외에도 현재 블랙박스 테스트에 유용한 일부 정보가 있을 수 있습니다:
- 변경 로그 또는 Readme 또는 버전 정보가 웹을 통해 액세스 가능한 파일이 있는지 확인하십시오.
- 자격 증명은 어디에 저장되고 있으며, 자격 증명 (사용자 이름 또는 비밀번호)이 있는 (액세스 가능한?) 파일이 있습니까?
- 비밀번호는 평문, 암호화되었거나 사용된 해싱 알고리즘은 무엇입니까?
- 어떤 것을 암호화하는 데 마스터 키를 사용하고 있습니까? 사용된 알고리즘은 무엇입니까?
- 어떤 취약점을 이용하여 이러한 파일 중 하나에 액세스할 수 있습니까?
- github의 (해결된 및 미해결된) 이슈에 흥미로운 정보가 있습니까? 또는 커밋 히스토리에 (이전 커밋에 비밀번호가 포함된 것일 수도 있음) 있습니까?
{% content-ref url="code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}
자동 스캐너
일반 목적 자동 스캐너
nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>
# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"
CMS 스캐너
만약 CMS가 사용된다면 스캐너를 실행하는 것을 잊지 마세요, 어쩌면 중요한 정보가 발견될 수 있습니다:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin 웹사이트의 보안 취약점을 찾습니다. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal 또는 (M)oodle
droopscan: Drupal, Joomla, Moodle, Silverstripe, Wordpress
cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
이 시점에서는 이미 클라이언트가 사용하는 웹 서버에 대한 일부 정보(제공된 데이터가 있는 경우)와 테스트 중에 기억해야 할 몇 가지 요령이 있어야 합니다. 운이 좋다면 CMS를 찾았고 일부 스캐너를 실행했을 수도 있습니다.
웹 애플리케이션 발견 단계별 절차
이제부터 웹 애플리케이션과 상호 작용을 시작할 것입니다.
초기 확인 사항
흥미로운 정보가 있는 기본 페이지:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- 주요 및 보조 페이지의 주석도 확인하세요.
에러 강제
웹 서버는 이상한 데이터가 전송될 때 예기치 않게 동작할 수 있습니다. 이는 취약점을 노출하거나 민감한 정보를 누설할 수 있습니다.
- /whatever_fake.php (.aspx,.html,.etc)와 같은 가짜 페이지에 액세스
- 쿠키 값 및 매개 변수 값에 "[]", "]]", 및 "[[" 추가하여 오류 생성
- URL 끝에 **
/~randomthing/%s
**로 입력하여 오류 생성 - PATCH, DEBUG 또는 FAKE와 같은 다른 HTTP 동사 시도
파일 업로드 가능 여부 확인 (PUT 동사, WebDav)
WebDav가 활성화되어 있지만 루트 폴더에 파일을 업로드할 권한이 충분하지 않은 경우 다음을 시도하세요:
- 자격 증명 브루트 포스
- WebDav를 통해 파일을 업로드하여 웹 페이지 내의 다른 폴더에 찾은 폴더의 나머지 부분에 업로드할 수 있는 권한이 있는지 확인하세요.
SSL/TLS 취약점
- 응용 프로그램이 HTTPS 사용을 강제하지 않는 경우, MitM에 취약합니다.
- 응용 프로그램이 HTTP를 사용하여 민감한 데이터(암호)를 전송하는 경우, 높은 취약성이 있습니다.
testssl.sh를 사용하여 취약점을 확인하고 (버그 바운티 프로그램에서는 아마도 이러한 유형의 취약점이 허용되지 않을 것입니다) a2sv 를 사용하여 취약점을 다시 확인하세요:
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>
SSL/TLS 취약점에 대한 정보:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
스파이더링
웹 내부에 어떤 종류의 스파이더를 실행합니다. 스파이더의 목표는 테스트된 애플리케이션에서 가능한 많은 경로를 찾는 것입니다. 따라서 웹 크롤링 및 외부 소스를 사용하여 가능한 많은 유효한 경로를 찾아야 합니다.
- gospider (go): HTML 스파이더, JS 파일 및 외부 소스(LinkFinder)에서 링크를 찾습니다 (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
- hakrawler (go): HML 스파이더, JS 파일 및 외부 소스(Archive.org)에서 링크를 찾습니다.
- dirhunt (python): HTML 스파이더, "juicy files"도 표시합니다.
- evine (go): 대화식 CLI HTML 스파이더. 또한 Archive.org에서 검색합니다.
- meg (go): 이 도구는 스파이더가 아니지만 유용할 수 있습니다. 호스트별로 각 경로를 가져와 응답을 저장합니다.
- urlgrab (go): JS 렌더링 기능을 갖춘 HTML 스파이더입니다. 그러나 유지 관리되지 않는 것으로 보이며, 미리 컴파일된 버전이 오래되었고 현재 코드는 컴파일되지 않습니다.
- gau (go): 외부 제공업체(wayback, otx, commoncrawl)를 사용하는 HTML 스파이더
- ParamSpider: 이 스크립트는 매개변수가 포함된 URL을 찾아 나열합니다.
- galer (go): JS 렌더링 기능을 갖춘 HTML 스파이더
- LinkFinder (python): JS 파일에서 새 경로를 검색할 수 있는 HTML 스파이더. JSScanner도 살펴볼 가치가 있습니다.
- goLinkFinder (go): HTML 소스 및 포함된 javascript 파일에서 엔드포인트를 추출합니다. 버그 헌터, 레드 팀, 정보 보안 닌자에 유용합니다.
- JSParser (python2.7): Tornado 및 JSBeautifier를 사용하여 JavaScript 파일에서 상대적 URL을 구문 분석하는 Python 2.7 스크립트입니다. AJAX 요청을 쉽게 발견하는 데 유용합니다. 유지 관리되지 않는 것으로 보입니다.
- relative-url-extractor (ruby): 파일(HTML)이 주어지면 미관한(압축된) 파일에서 상대적 URL을 찾아 추출하는 데 사용됩니다.
- JSFScan (bash, 여러 도구): 여러 도구를 사용하여 JS 파일에서 흥미로운 정보를 수집합니다.
- subjs (go): JS 파일을 찾습니다.
- page-fetch (go): 무헤드 브라우저에서 페이지를 로드하고 페이지를 로드하는 데 사용된 모든 URL을 출력합니다.
- Feroxbuster (rust): 이전 도구의 여러 옵션을 혼합한 콘텐츠 발견 도구
- Javascript Parsing: JS 파일에서 경로 및 매개변수를 찾기 위한 Burp 확장 프로그램
- Sourcemapper: .js.map URL이 주어지면 정리된 JS 코드를 가져옵니다.
- xnLinkFinder: 주어진 대상의 엔드포인트를 발견하는 데 사용되는 도구입니다.
- waymore: wayback machine에서 링크를 발견합니다(wayback에서 응답을 다운로드하고 더 많은 링크를 찾습니다)
- HTTPLoot (go): 특정 정규식을 사용하여 크롤링(양식 작성 포함)하고 민감한 정보를 찾습니다.
- SpiderSuite: 사이버 보안 전문가를 위해 설계된 고급 다기능 GUI 웹 보안 크롤러/스파이더
- jsluice (go): JavaScript 소스 코드에서 URL, 경로, 비밀 및 기타 흥미로운 데이터를 추출하기 위한 Go 패키지 및 명령줄 도구입니다.
- ParaForge: 요청에서 매개변수 및 엔드포인트를 추출하여 퍼징 및 열거를 위한 사용자 정의 워드리스트를 생성하는 간단한 Burp Suite 확장 프로그램입니다.
디렉토리 및 파일 브루트 포스
루트 폴더에서 브루트 포스를 시작하고 이 방법을 사용하여 찾은 모든 디렉토리를 브루트 포스하고 스파이더링에 의해 발견된 모든 디렉토리를 브루트 포스합니다(이를 재귀적으로 수행하고 발견된 디렉토리의 이름을 사용된 워드리스트의 시작 부분에 추가할 수 있습니다).
도구:
- Dirb / Dirbuster - Kali에 포함되어 있으며 오래되었지만(그리고 느립니다) 기능이 있습니다. 자동 서명된 인증서 및 재귀적 검색을 허용합니다. 다른 옵션과 비교하여 너무 느립니다.
- Dirsearch (python): 자동 서명된 인증서를 허용하지 않지만 재귀적 검색을 허용합니다.
- Gobuster (go): 자동 서명된 인증서를 허용하며, 재귀적 검색을 하지 않습니다.
- Feroxbuster - 빠르며, 재귀적 검색을 지원합니다.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ
- ffuf - 빠릅니다:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ
- uro (python): 이것은 스파이더가 아니지만 발견된 URL 목록을 제공하여 "중복" URL을 삭제합니다.
- Scavenger: 다른 페이지의 burp 히스토리에서 디렉토리 목록을 생성하는 Burp 확장 프로그램
- TrashCompactor: 중복 기능을 가진 URL을 제거합니다(JS 가져오기를 기반으로 함)
- Chamaleon: 사용된 기술을 감지하고 사용할 워드리스트를 선택하기 위해 wapalyzer를 사용합니다.
추천하는 사전:
- https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt
- Dirsearch 포함된 사전
- http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10
- Assetnote wordlists
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content
- raft-large-directories-lowercase.txt
- directory-list-2.3-medium.txt
- RobotsDisallowed/top10000.txt
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/google/fuzzing/tree/master/dictionaries
- https://github.com/six2dez/OneListForAll
- https://github.com/random-robbie/bruteforce-lists
- /usr/share/wordlists/dirb/common.txt
- /usr/share/wordlists/dirb/big.txt
- /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
브루트 포싱이나 스파이더링 중에 새 디렉토리가 발견될 때마다 브루트 포싱해야 합니다.
각 발견된 파일에서 확인해야 할 사항
- 링크 깨진 링크 확인기: 탈취 가능성이 있는 HTML 내의 깨진 링크 찾기
- 파일 백업: 모든 실행 파일(".php", ".aspx" 등)의 백업을 찾은 후, 일반적인 백업 파일 이름은 다음과 같습니다: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp 및 file.old. bfac 또는 backup-gen을 사용할 수 있습니다.
- 새 매개변수 발견: Arjun, parameth, x8 및 Param Miner 와 같은 도구를 사용하여 숨겨진 매개변수를 발견할 수 있습니다. 가능하다면 각 실행 웹 파일에서 숨겨진 매개변수를 찾아볼 수 있습니다.
- Arjun 모든 기본 워드리스트: https://github.com/s0md3v/Arjun/tree/master/arjun/db
- Param-miner “params” : https://github.com/PortSwigger/param-miner/blob/master/resources/params
- Assetnote “parameters_top_1m”: https://wordlists.assetnote.io/
- nullenc0de “params.txt”: https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
- 코멘트: 모든 파일의 코멘트를 확인하면 자격 증명이나 숨겨진 기능을 찾을 수 있습니다.
- CTF를 진행 중이라면 코멘트에 정보를 숨기는 "일반적인" 트릭은 페이지 오른쪽에 수백 개의 공백을 사용하여 데이터를 브라우저로 열어도 보이지 않도록 하는 것입니다. 다른 가능성은 여러 개의 새 줄을 사용하여 웹 페이지 하단에 코멘트에 정보를 숨기는 것입니다.
- API 키: API 키를 찾으면 다양한 플랫폼의 API 키를 사용하는 방법을 알려주는 가이드가 있습니다: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API 키: AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik와 같은 API 키를 찾으면 프로젝트 gmapapiscanner를 사용하여 키가 액세스할 수 있는 API를 확인할 수 있습니다.
- S3 버킷: 스파이더링 중에 서브도메인이나 링크가 어떤 S3 버킷과 관련이 있는지 확인하십시오. 그 경우, 버킷의 권한을 확인하십시오.
특별한 발견
스파이더링 및 브루트 포싱을 수행하는 동안 주목해야 할 흥미로운 사항을 발견할 수 있습니다.
흥미로운 파일
- CSS 파일 내의 다른 파일로의 링크를 찾아보세요.
- .git 파일을 찾으면 일부 정보를 추출할 수 있습니다.
- .env 파일을 찾으면 API 키, 데이터베이스 비밀번호 및 기타 정보를 찾을 수 있습니다.
- API 엔드포인트를 찾으면 테스트해야 합니다. 이들은 파일은 아니지만 아마도 파일처럼 보일 것입니다.
- JS 파일: 스파이더링 섹션에서 JS 파일에서 경로를 추출할 수 있는 여러 도구가 언급되었습니다. 또한, 코드에 잠재적인 취약점이 도입되었을 수 있음을 나타내는 변경이 발생할 수 있으므로 발견된 각 JS 파일을 모니터링하는 것이 좋습니다. 예를 들어 JSMon을 사용할 수 있습니다.
- 발견된 JS 파일을 RetireJS 또는 JSHole로 취약한지 확인해야 합니다.
- Javascript Deobfuscator 및 Unpacker: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
- Javascript Beautifier: http://jsbeautifier.org/, http://jsnice.org/
- JsFuck 해독 (문자:"[]!+"를 사용한 javascript https://ooze.ninja/javascript/poisonjs/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.
- 여러 경우에는 사용된 정규 표현식을 이해해야 할 수 있습니다. 이 링크가 유용할 것입니다: https://regex101.com/
- 발견된 양식이 있는 파일을 모니터링해야 할 수도 있습니다. 매개변수의 변경이나 새 양식의 나타남은 잠재적인 취약한 기능을 나타낼 수 있습니다.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
{% content-ref url="403-and-401-bypasses.md" %} 403-and-401-bypasses.md {% endcontent-ref %}
502 Proxy Error
해당 코드로 응답하는 페이지가 있으면 아마도 잘못 구성된 프록시입니다. GET https://google.com HTTP/1.1
(호스트 헤더 및 기타 일반적인 헤더와 함께)와 같은 HTTP 요청을 보내면 프록시가 _google.com_에 액세스하려고 시도하고 SSRF를 발견할 수 있습니다.
NTLM 인증 - 정보 노출
인증을 요청하는 실행 중인 서버가 Windows인 경우 또는 자격 증명을 요청하고 도메인 이름을 요청하는 경우 정보 노출을 유발할 수 있습니다.
“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”
헤더를 전송하면 NTLM 인증 방식에 따라 서버가 "WWW-Authenticate" 헤더 내부 정보 (IIS 버전, Windows 버전 등)로 응답합니다.
이를 자동화하려면 nmap 플러그인 "http-ntlm-info.nse"를 사용할 수 있습니다.
HTTP Redirect (CTF)
리다이렉션에 콘텐츠를 삽입할 수 있습니다. 이 콘텐츠는 사용자에게 표시되지 않을 것이므로 (브라우저가 리다이렉션을 실행할 것이기 때문에) 그 안에 숨겨진 내용이 있을 수 있습니다.
웹 취약점 확인
이제 웹 애플리케이션의 포괄적인 열거가 수행되었으므로 가능한 많은 취약점을 확인할 차례입니다. 여기에서 체크리스트를 찾을 수 있습니다:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology/" %} web-vulnerabilities-methodology {% endcontent-ref %}
웹 취약점에 대한 자세한 정보는 다음에서 확인할 수 있습니다:
- https://six2dez.gitbook.io/pentest-book/others/web-checklist
- https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web_application_security_testing/configuration_and_deployment_management_testing.html
- https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection
변경 사항 모니터링 페이지
https://github.com/dgtlmoon/changedetection.io와 같은 도구를 사용하여 취약점을 삽입할 수 있는 수정 사항을 모니터링할 수 있습니다.
해킹 경력에 관심이 있고 해킹할 수 없는 것을 해킹하고 싶다면 - 저희가 채용 중입니다! (유창한 폴란드어 작문 및 구사 능력 필요).
{% embed url="https://www.stmcyber.com/careers" %}
HackTricks 자동 명령어
Protocol_Name: Web #Protocol Abbreviation if there is one.
Port_Number: 80,443 #Comma separated if there is more than one.
Protocol_Description: Web #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for Web
Note: |
https://book.hacktricks.xyz/pentesting/pentesting-web
Entry_2:
Name: Quick Web Scan
Description: Nikto and GoBuster
Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_3:
Name: Nikto
Description: Basic Site Info via Nikto
Command: nikto -host {Web_Proto}://{IP}:{Web_Port}
Entry_4:
Name: WhatWeb
Description: General purpose auto scanner
Command: whatweb -a 4 {IP}
Entry_5:
Name: Directory Brute Force Non-Recursive
Description: Non-Recursive Directory Brute Force
Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_6:
Name: Directory Brute Force Recursive
Description: Recursive Directory Brute Force
Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10
Entry_7:
Name: Directory Brute Force CGI
Description: Common Gateway Interface Brute Force
Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200
Entry_8:
Name: Nmap Web Vuln Scan
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv --reason -Pn -sV -p {Web_Port} --script=`banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)` {IP}
Entry_9:
Name: Drupal
Description: Drupal Enumeration Notes
Note: |
git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration
Entry_10:
Name: WordPress
Description: WordPress Enumeration with WPScan
Command: |
?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php
wpscan --url {Web_Proto}://{IP}{1} --enumerate ap,at,cb,dbe && wpscan --url {Web_Proto}://{IP}{1} --enumerate u,tt,t,vp --passwords {Big_Passwordlist} -e
Entry_11:
Name: WordPress Hydra Brute Force
Description: Need User (admin is default)
Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
Entry_12:
Name: Ffuf Vhost
Description: Simple Scan with Ffuf for discovering additional vhosts
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 영웨이에이스 해킹을 배우세요!
다른 방법으로 HackTricks를 지원하는 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하고 싶다면 SUBSCRIPTION PLANS를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 구매하세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 Discord 그룹 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.