오일러 라이센스 - DCTF 22
Bookstore.java 챌린지는 다음과 같이 명시했습니다.
Someone who doesn't care about bandwidth usage decided to package both the server and client binaries in a single file... The server of course is meant to run on linux, and the client on Windows.
다음을 포함하는 PowerShell 파일
eulers_license.ps1
을 얻습니다.binary_linux
var. binary_win
var입니다. 리눅스 바이너리
Linux 바이너리는 뒤집기가 매우 쉽습니다. 실제로 그것을 디코딩함으로써 우리는 거대한 SQLi 취약점이 있는 파이썬 서버를 얻습니다.
lice = request.args.get("license_key")
query = "SELECT * FROM license_keys WHERE license_key = '" + lice + "';"
우리는
' OR 1=1 --
와 같은 기본 SQLi를 진행하고 플래그의 첫 번째 부분을 가져올 수 있습니다(실제로는 두 번째 부분).
_python_is_easy_to_reverse}
윈도우 바이너리
Windows exe는 되돌리기가 조금 더 어렵습니다. ghidra로 살펴봄으로써 다음과 같아야 함을 이해합니다.
우연과 시험의 조합으로 우리는 오일러가 발견한 소수인 숫자
2147483647
를 발견합니다.이 입력을 클라이언트에 제공하면 다음과 같은 출력이 제공됩니다.
Enter eulers license key: 2147483647
dctf{2147483647
Failed to contact euler.dragonsec.si for license confirmation...
dctf{2147483647_python_is_easy_to_reverse}
Reference
이 문제에 관하여(오일러 라이센스 - DCTF 22), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vaiton/eulers-license-dctf-2022-bd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)