우후
코멘트가 없습니다. 다음은 제 생각과 분석 중 일부입니다. 질문이나 제안 사항이 있으면 언제든지 저에게 연락하실 수 있습니다.
목차
질문 3: 아직 RSA를 모르는 사람이 있는지 살펴보겠습니다.
모두들 어서( •̀ Ω •́ )y 또 뵙기를 기대하겠습니다
문제 해결 아이디어와 프로세스
주제 1 모두 여기에 있습니다
작업 내용:
첨부파일에 압축된 패키지가 하나만 있습니다.
단, 압축해제에는 비밀번호가 필요합니다. 소스코드를 확인하고 비교한 결과의사 암호화인 것으로 확인되었습니다.
09를 00으로 변경
제목을 얻으세요
분명히기본 디코딩
txt로 넣어주세요
사용++ 아님확대/축소 열기 및 플래그 가져오기
플래그 값:
플래그{cp2ae315-eef4-3fra-a768-cd9xb19cdk4e}
주목2Honor
작업 내용:
사진이 한장만 첨부되어 있어요
일반소스 코드 보기
두 번째 사진 발견
Kaliforemost분류
사진 가져와? 이해가 되세요
여러 가지 도구를 사용해 본 후
사용stegDetect를 사용하여 스테가노그래피의 존재 여부 확인
StegDetect.exe -tjopi -s 10.0 00001995.jpg
그런 다음 stegseek를 사용하여 rockyou 사전(kali와 함께 제공)을 사용하여 폭발시킵니다.
stegseek 00000000.jpg rockyou.txt
최종 암호화된 문자 가져오기
f6l3-a6ag3c}{-bc4c5e28-e4649c76b0-707e6069
이것은 아닙니다펜스 암호는 카이사르 암호입니다
시도함 펜스 비밀번호 12개 열 수
온라인 웹사이트(표준 웹사이트는 아직 빠져나올 수 없습니다)
플래그 값:
플래그{424c076e-768c-3636-acb5-4676900b9eec}
질문 3 RSA를 모르는 사람이 있는지 살펴보겠습니다
작업 내용:
파이는 하나뿐이다
이것은 표준 RSA를 살펴봅니다.
근거원호초 희생각본
여기에는 두 개의 스크립트가 제공됩니다.
from Crypto.Util.number import *
c=8232151627233115772131180151146951323147507324390914513031444555762539986162650
p=8666789885346075954502743436174521501697
q=2449101960789395782044494299423558347143
n = p*q
phin = (p-1)*(q-1)
e=37777
m = pow(c,e,n)
print(long_to_bytes(m))
import gmpy2
from Crypto.Util.number import *
def find_m(c, d, n, p, q):
f = (p - 1) * (q - 1)
e = 37777
d_inv = gmpy2.invert(d, f)
m = pow(c, d_inv, n)
return m
c = 8232151627233115772131180151146951323147507324390914513031444555762539986162650
e=37777
p = 8666789885346075954502743436174521501697
q = 2449101960789395782044494299423558347143
n = p*q
f = (p-1)*(q-1)
d = gmpy2.invert(e,f)
m = find_m(c, d, n, p, q)
print(long_to_bytes(m))
플래그 값:
깃발{r5a_Who_w0nt}
주 4 hakiehs
작업 내용:
아직 파일이 하나뿐이네요
Vsdx 접미사
이렇게문서 파일 직접 변환할 수 있습니다압축 패키지 형식 < a i=4>내부의 단서를 찾아보세요
압축을 풀다
Crypto-hakiehs\attachment\attachment\visio\media
이 주소에서 사진 비밀글을 찾아보세요
통과정보 검색
해당 항목 찾기비교표
플래그를 얻으려면 소문자를 비교하십시오.
플래그 값:
플래그{linkzeldaganon}
주목 5 Font
작업 내용:
이 질문은 약간 흥미롭습니다. 상상력을 발휘해 보세요 완전히 기타로 넘겨도 됩니다.
첨부파일은 사진 한장뿐입니다
민첩한 여우와 게으른 개
이미지 속성에서 팁을 찾았습니다.
처음에는 이모티콘 복호화인줄 알고 aea도 해봤는데 안되더군요.
따라서 이 암호화 방법은질문자 만 만들 수 있습니다.
비교표는 그림이나 텍스트에 있어야 합니다.
그러나 고려해야 할 사항이 질문은 비밀번호 질문입니다기타가 아닙니다
따라서스테가노그래피를 너무 많이 사용하지 말고단순하게 유지해야 합니다
총 2줄이 있어요
추측 한 줄은 답이고 한 줄은 비교입니다
세공35적표
그럼 사진을 보세요
그림의 문자 그대로의 의미는
민첩한 갈색 여우가 게으른 개를 덮칩니다.
번역에는 35자 이상이 필요합니다35자
TheQuickbrownfoxjumps overthelazydog
이것을 사용하여첫 번째 줄(◎☀◐♬¤☾♀☹☽§♪℗♩haus)♪®♂¤ ☒ ♫〼♪ڞ◐§◎☀◐◑☼♭©☺♪√)구성 비교표
√:g;♪:0;☺ d; © y; ♭ z; ☼ a; ◑ l; ◐ e;☀ h; ◎ t;§ r; ◐ e; Ҟ v; ♪ o; 〼 s; ♫ p; ☒ m;¤ u;♂ j;® x;♪ o; t f; ♩ n;℗ w; ♪ o; § r; ;☀ h; ◎ t
마지막으로 이 비교표에 따르면
두 번째 줄을 풀어 깃발을 얻으세요
플래그 값:
플래그{qtsyjfgvbndhflhgfnmjfhko}
질문 6 에이프코인
작업 내용:
dirsearch를 사용하여 디렉토리를 스캔하고 소스 코드 누출을 찾으십시오.
/static/font/ 디렉터리에서 .txt.php 백도어 파일을 찾았습니다.
CMD5에서 암호를 해독하여 연결 비밀번호 74658263을 얻고, Ice Scorpion을 사용하여 연결하여 플래그를 얻습니다.
플래그 값:
플래그{50ddd4d4-c403-422f-af67-3805077076aa}
주제 7 Easyphp
작업 내용:
프롬프트에 따라 힌트.php 파일을 읽으려면 PHP 의사 프로토콜을 사용하십시오.
Base64 디코딩 후 소스 파일 가져오기
힌트.php 코드에 따르면 get->__call에서 eval 함수를 실행하기 위해 팝 체인을 구성해야 합니다.
각 매직 메서드를 호출하는 방법
__call(): 존재하지 않거나 보이지 않는 멤버 메서드를 호출할 때 PHP는 먼저 __call() 메서드를 호출하여 메서드 이름과 해당 매개변수를 저장합니다.
__isset(): 객체의 존재하지 않거나 액세스할 수 없는 속성에 isset() 또는empty() 함수를 사용할 때 자동으로 호출되며 속성 이름을 매개변수로 전달합니다. .
__wakeup(): 객체가 역직렬화되기 전에 자동으로 호출되며( unserialize() 함수 사용), 이 메서드에서 객체 상태를 다시 초기화할 수 있습니다.
__destruct(): 객체가 소멸되기 전에 자동으로 호출되는 클래스의 소멸자
__toString(): echo 또는 print 출력 개체를 사용하여 개체를 문자열 형식으로 변환하는 경우 __toString() 메서드가 호출됩니다.
구성된 팝 체인(역방향)은 다음과 같습니다. __isset()을 사용하여 __call()을 트리거한 다음 __toString을 사용하여 __isset()를 트리거하고 마지막으로 __destruct()를 사용하여 __toString()을 트리거합니다. 참고로 속성 개수를 나타내는 값이 실제 속성 개수보다 큰 방식으로는 __wakeup을 우회할 수 없지만 dog->b 주소를 a에 주고 c를 할당하면 된다. ct 수업으로. get::__call()->mouse::__isset()->ct::__toString()->dog::__destruct()
그리고 힌트.php는 많은 기능을 필터링하기 때문에
따라서 문자열 타입을 나타내는 s를 대문자로 S로 표기하면 해당 값은 16진수로 해석됩니다. (길이는 변경할 수 없습니다.)
realflag 디렉터리의 파일 보기
플래그를 얻으려면 you_want_flag.php 파일을 확인하세요.
깃발을 얻으세요
플래그 값:
플래그{28fabc34-48bb-4959-b3c7-a67ddb343d8d}
질문 8 Ezupload
작업 내용:
dirsearch를 사용하여 디렉터리를 검색하여 플래그 파일을 찾고 플래그에 액세스합니다.
깃발을 얻으세요
플래그 값:
플래그{71a58713-31d7-4ae7-a5f7-d4889a8ec2e3}
추세구 get_source
작업 내용:
주소에 접속해 보니 해당 웹사이트는 php7.4.21을 사용하고 있는 것으로 나타났습니다. php<=7.4.21개발서버 소스코드 유출 취약점이 생각나서 이 취약점을 이용해 idnex.php를 보았습니다.
세 개의 변수 a, b, pwn을 POST하고 a는 b와 같을 수 없으며 a의 MD5 값은 pwn의 sha1 값과 같아야 합니다. 배열을 사용하여 플래그를 우회하고 가져올 수 있습니다.
깃발을 얻으세요
플래그 값:
플래그{25e02e06-3553-4a5b-bfa9-b1fff4745dde}