일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- tuple
- 포트스캐너
- 리버스 엔지니어링
- 레나튜토리얼
- pe구조
- flask설치
- 리버스엔지니어링
- flask blueprint
- 오블완
- Python
- portswigger
- flask
- 삼성클라우드오류
- 클립보드간공유기능
- L
- 플라스크
- NMAP
- 리버싱
- AQ
- 멀티컨트롤오류
- 레나튜토리얼.
- 파이썬
- 숫자분리
- 플라스크 애플리케이션 팩토리
- 삼성노트동기화오류
- flask 구조
- 티스토리챌린지
- set
- Today
- Total
목록전체 글 (31)
정보보안

내 문제의 발단은 이랬다.갤럭시 폰, 갤럭시 탭, 갤럭시 북까지 전부 삼성으로 생태계를 구축해놓은 나는, 오랜만에 기기 간 클립보드 공유 기능이 필요했다. 해당 기능을 사용하기 위해서는 각각의 제품에서 멀티 컨트롤을 켜야 한다는 글을 보았다. 갤럭시 북에서 멀티 컨트롤을 사용하기 위해 켜지는 버튼을 눌렀지만 "사용 안함"에서 바뀌지를 않았다.그리고 삼성 계정조차도 제대로 작동하지 않았다. 재 로그인을 하고 삼성 계정을 클릭해도 아무런 반응이 없었다. 그래서 멀티 컨트롤 앱을 복구하고, 초기화도 하고, 재설치도 했다.재설치 후에 드디어 멀티 컨트롤이 "사용"으로 바뀌었다. 삼성 계정도 인식을 했다.하지만 내 핸드폰을 인식하지 못했다.수동으로 연결하려고 해도 그들은 계속 나한테 wifi, 블루투스, 가까운 ..

API test 토픽은 그다지 영양가가 없을 듯 하지만 일단 고 API 테스트API(Application Programming Interfaces)는 소프트웨어 시스템과 애플리케이션이 통신하고 데이터를 공유할 수 있도록 합니다. API 테스트는 API의 취약성이 웹사이트의 기밀성, 무결성 및 가용성의 핵심 측면을 훼손할 수 있으므로 중요합니다.모든 동적 웹사이트는 API로 구성되어 있으므로 SQL 주입과 같은 고전적인 웹 취약성은 API 테스트로 분류될 수 있습니다. 이 주제에서는 RESTful 및 JSON API에 초점을 맞춰 웹사이트 프런트엔드에서 완전히 사용되지 않는 API를 테스트하는 방법을 알려드립니다. 또한 내부 API에 영향을 줄 수 있는 서버 측 매개변수 오염 취약성을 테스트하는 방법도 알..
# Python Snippet 1server.py 1 from http.server import BaseHTTPRequestHandler, HTTPServer2 from http.cookies import SimpleCookie3 import base644 import pickle5 6 class MyServer(BaseHTTPRequestHandler):7 def doGET(self):8 cookies = SimpleCookie(self.headers.get('Cookie'))9 if cookies.get('username'):10 username = pickle.loads(base64.b64decode(cookies.get('u..
# JAVA Snippet 1Secure.java1 import java.util.Base64;2 import java.security.MessageDigest;3 import java.security.SecureRandom;4 import java.nio.charset.StandardCharsets;5 public class Secure {6 private static String secret = "[...]";7 8 public static String build_redirect() throws Exception {9 SecureRandom rand = new SecureRandom();10 String tx_id=String.valueOf(rand.nextInt(100000))..
# PHP Snippet 1jwt.php1 $parts = explode('.', $_GET['jwt']);2 $algorithms = array('HS256', 'HS384', 'HS512');3 if (3 !== count($parts)) {4 throw new \InvalidArgumentException('Invalid or malformed JWT supplied.');5 }6 $header = json_decode(self::decode($parts[0]), true);7 if (in_array($header['alg'], $algorithms)) {8 ...9 } PHP 8 이전 버전에서 발생할 수 있는 취약 코드다.몇 번 라인의 코드에서 어떤 취약점이 발생할 수 있을까? 정답은 아래..

1. Insecure deserialization: PHP 7 버전 type juggling wiener:peter로 로그인하고 쿠키 값을 확인한다. url decoding과 base64 decoding을 하면 아래와 같은 토큰이 나타난다.O:4:"User":2:{s:8:"username";s:6:"wiener";s:12:"access_token";s:32:"v1121s9n9iclilyg9smnz3t04kebqne0";}PHP 직렬화 형식에서 문자는 데이터 유형(s=string, i=integer)을 나타내고 숫자는 각 항목의 길이를 나타낸다. 따라서 wiener를 administrator로 변경하기 위해선, 문자열 길이에 맞게 6 -> 13으로 변경해주어야 한다. 이대로 다시 base64 encodi..

1. XXE: Blind XXE Blind XXE는 응답에서 결과를 확인하기 어렵기 때문에, 파일을 외부 서버로 전송하거나 오류를 유도하는 등의 노력이 필요하다. 이 랩에서도 서버가 XML을 파싱할 때, file:///etc/passwd를 요청했지만 파일의 내용이 응답에 출력되지 않는다.따라서 에러 메세지에 파일 내용을 유출하는 방식을 사용한다. [공격 과정 요약]1. 악성 DTD 파일을 외부 서버(Exploit Server)에 저장2. 서버가 해당 DTD를 불러오도록 XML 요청을 조작3. /etc/passwd 내용을 포함한 에러 메시지를 유도하여 정보 탈취 lab에 접속 후 "Go to exploit server"를 누른다. 여기가 악성 DTD 파일을 저장할 서버다. 악성 DTD 파일에서는 ..

1. SSRF : Open Redirect 취약점과 콜라보레이션 check stock 버튼을 누르면 /product/stock POST 요청을 보낸다. /product/stock 엔드포인트에서는 문제에서 나와있듯이 로컬 애플리케이션에 접근하도록 제한되어 있었다.stockApi 파라미터를 통해 접근할 path를 입력할 수 있는 것이 중요 포인트이다.stockApi=/product/stock/check?productId=1&storeId=1 다음 제품을 클릭하면 /product/nextProduct 엔드포인트를 요청하는데,path 파라미터에 http://192.168.0.12:8080/admin/ 를 입력하면 찾아가려고 한다. 오픈 리다이렉트 취약점이 있다.다만 해당 ip는 내부이기 때문에 이 포인트..

정말 오랜만에 또 portswigger로 돌아왔다. 그동안 oswe 준비하느라 좀 바빴다.🤫오늘은 portswigger lab으로 시간을 보내려고 한다. 가자! SSTI Cheatsheet --------------------------------------------------------------------Polyglot:${{--------------------------------------------------------------------FreeMarker (Java):${7*7} = 49 ${ command("cat /etc/passwd") }--------------------------------------------------------------------(Java):${7*7}..