Apache struts 2 취약점(CVE-2023-50164)
2024. 2. 29. 20:22
기술보안/CVE
서론 2023-12-07일 Apache는 CVE-2023-50164 로 식별된 심각한 심각도 취약점을 해결하기 위해 Struts 버전 6.3.0.2 및 2.5.33을 출시했다. 특정 조건이 충족되면 악용될 수 있으며 공격자는 악성 파일을 업로드하고 대상 서버에서 원격코드 실행(RCE)가 가능하다. 본론 CVE-2023-50164는 Apache struts 가 2023-12-07일에 새로 출시되면서 최신버전에서는 작동하지 않는다. 취약 버전 Struts 2.0.0 ~ 2.3.37 (지원 종료) Struts 2.5.0 ~ 2.5.32 Struts 6.0.0 ~ 6.3.0.1 실습 환경 실습 시나리오 공격자는 웹 서버를 운영하고 있는데 해당 ApacheStruts2 가 취약함을 인지하지 못하고 그대로 서비스를..
DVIA 를 통한 취약점 파헤치기!(Runtime 조작3)
2024. 2. 4. 21:31
기술보안/App
Runtime 조작 마지막 3번째 시간을 가져보도록 하겠습니다. 1. DVIA 앱을 통해 Runtime Manipulation 으로 접속해 줍니다. 2. 이후 위에 4자리 코드를 임의로 입력 하여 타당한 코드인지 확인해 봅니다. 3. 확인 시 에러가 뜨며 해당 에러를 확인하기 위해 기드라의 String 검색을 통해 해당 구문의 위치를 확인해 줍니다. 4. 검색 후 기드라에서 위치를 확인 후 해당 참조 값으로 이동 합니다. 5. 이동 후 해당 의 값을 보여주는 참조 값으로 이동 합니다. 6. 이후 해당 값의 분기를 확인하기 위해 그래프를 통해 구조를 파악 합니다. 7. 그래프 확인 시 Incorrect 문자열이 출력으로 분기되기 전의 구조를 확인해 봅니다.(초록색 분기점 더블클릭) 8. 해당 분기점을 통해..
[dreamhack] ROT128 문제풀이
2024. 1. 31. 23:02
워게임/dreamhack
ROT128 목차 문제 설명 해결 과정 Exploit 코드 문제 요약 문제 설명 -ROT128의 문제 설명 암호화된 encfile을 복호화 하여 flag.png를 취득하는 문제입니다. 해결과정 #!/usr/bin/env python3 hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] # 0부터 256까지 16진수로된 리스트 생성 with open('flag.png', 'rb') as f: # flag.png 파일을 읽어옴 plain_s = f.read() plain_list = [hex(i)[2:].zfill(2).upper() for i in plain_s] #읽은 데이터를 16진수로된 리스트 생성 enc_list = list(range(l..
[CryptoHack] MISC(Bit by Bit)
2024. 1. 31. 22:44
워게임/CryptoHack
Bit by Bit 문제(및 설명) 당신이 ElGamal에 대해 들었는데, 이것은 몇 가지 멋진 특성을 가지고 있다고 들었습니다. 저는 모든 비트를 다른 비밀로 암호화했으므로 당신은 제 플래그값을 복구할 수 못합니다. 풀이 더보기 from Crypto.Random import random from Crypto.Util.number import getPrime, bytes_to_long FLAG = b'crypto{??????????????????????????????????????????}' def get_padding(): seed = 256 e = random.randint(2, q) padding = pow(seed, e, q) return padding def public_key(): x = ra..
[IOS] DVIA 를 통한 취약점 파헤치기!(Runtime 조작2)
2024. 1. 2. 18:00
기술보안/App
안녕하세요 이번에는 Runtime 조작 2번째 시간을 가져보도록 하겠습니다. 이번에는 기드라를 통해 분석을 하여 수행 예정입니다. 1. Runtime Manipulation에 접근하여 ID/PW 작성 후 Login Method 2 를 선택해 줍니다. 2. 틀린 정보라는 문구가 나오네요 3. 기드라를 통해서 DVIA-v2 의 파일을 열어 줍니다. 이후 스트링 검색을 통해 노출된 문자열을 검색해 본 후 해당 위치에 접근해 보도록 합니다. 4. 해당 위치의 참조 값을 확인하여 따라가 봅시다. 5. 해당 참조 값을 그래프를 통해 확인 후 해당 문자열의 결과를 출력하는 분기 점을 따라가 봅니다. 6. 해당 분기점을 확인 했을 때 다른 곳으로 분기되는 곳이 긍정적인 말들이 쓰여 있네요 해당 위치로 분기될 수 있도록..