from Crypto.Util.number import * N = 11353462911659482113796537452147300926058319193410149519981293344545095869273822230953023429933867057788424748612924709948861133348747189832397098293375764081790597820832766019459982124608221261607650511397189714784056313299551817534654742174637343804047231232241364089289257964139944018168155573510980260130960125621306919129390727418251555408239157881843225479158237727969284756513805560836003067115936987292751142016846824024901372913577548599978847860303760659677939193351221798796221804998385095596961591093782162020167439948314063423204757741472210008357888290333170757522814768955797167174930629344666183821709125207308525214263797625499327774875517941662523738827284067304929843343871569023248931759251331056863803201916908875256305736551124386988450879913404808869417817363510363373493093139804372817316366990863872781848240937733101758906281563575413208242901819275013539759479445299894840593737457394207415306989963459347994339058584475533786264375696277942369426844216474662828121334192775480587740071776080691560820922589751966526187341539255661442517814436944781114380877453502120302247547983180059537220197840688418898830571100216529994749464486853212098379822895838120836692532849021875818941979891105837972315129986493 c = 4598142980961588614870523368474306387497434303187254927457676265871592231881441246092917258758503624096206624791819316260705668875764048374035213672138915662719877795747211803584360349151646264274341548770123417923229997374982757324397146348908248704115062655445309042278469908831635522908894918382861563762003781223067210316435231509359575745828484177064520417698784251000631935361105284031848497200100561554984257265297077176545082009710252149167922123535451717313588884862304552508619154651546264753192894485610685402565486840707709012364088270364787452130288293053818329408433642977483320525542674345001200312959241276966417288770125166249156122793451000156544563900072606708005901579238109781720805374132101363788622676000360345128868422751829657184702090198806325558601552728909032627597688702884484377994243047876011323705947461799669488497113582621976154428096812072612119422667669321557427061098391558516935530727451865151957035156100271891977310043273298085691419672779758845492888551759393825925266903887942750052210444677062600227218953570162640164207895883301679126000642791876167281967081725589618329012476305157314322062703122134504285038691938912783524944917966615556902938825590064899700174139252191278691620663355243 e = 65537 import gmpy2 a = 2 n = 2 while True: a = pow(a, n, N) res = gmpy2.gcd(a-1, N) if res != 1 and res != N: q = N // res print("n=",n) print("p=",res) print("q=",q) break n += 1
import math from Crypto.Util.number import * import gmpy2 from Cryptodome.Util.number import * from gmpy2 import * n = 11958388191411693159737723233868177200642855312771636589272066925180521736238782088222469544720240237292008558651656242716943228927612911153093905350043065811853776453271082678856297734699816670221066298151571078839575715976634390967727901295936522621706645886864683564184184197808626753747618171580292981571324190267014128877345111473870762554461674841623076501341477084318792110624423283610948627697772395662746329206056210266975821093875870239401934123066690637191790327090291595067248967533200784706397544202070440488806825607916659163953805033205530899551496221506129549542556866837853127119809134360611350153589 c = 10602368727908312334676265892975307612231309319511015017178654564186172749979627738052483995870388025140270600159107954524376993980949045647370337520644299969292550299798129717198074042121264370311983929042594290226321121639097714569204574387632530578153623781118813035223106106430716561113649761388347227207862016222328885951443891878767280730866193302995220736592745950808566359750940949520997722511969961743175777398751576595421456387998438214806188903746057855596476380404784738717555105866919649086601807350830108805521710188675565963765427930594177874353694184805979235854934856122125278853834603734029710968348 gift = 143003048136494625720615623612005913472507924053937690079082986485649969355472743235179770036996193641198750946508667945561623931811236977039763581123681134310890547763107653222776992418543178066390387385209825190685606728024120446212807710589806258669458993047631033905702244902809204039169931629358263456702579067559691338668237882496453568585374905432631312417129535623987837367199215661733043851565981435234933986864857569158677737153423060041120732727135186371678287680926662892691327401787213342106281956461499522723795617869239148528294553548775690229067500104867437905746412645684721821428282431567702986879179533855920546700706123995719114359958306882907020982377260255340490340263938995699635287224549324332962230238510191824829224191551900441011605052418697617085549543103391184965537110312684637038510114533398510307173011690076219892318860903556489256383303693074652155424333388152193775840529985682153395008472897617946636734810609200156268438329402662168752285341847607694230848883249991722691539384542468611397615969487669898094687344847452861774236267516878551680397732564006255256825307533960791695267034807439791627895625581061889926276814228469856614838307012696777026973517086921078389474757196549594972814371353 e = 65537
while True: x += 1 y2 = x ** 2 - n if is_square(y2): y2 = mpz(y2) get_context().precision = 2048 y = int(sqrt(y2)) factor_list.append([x+y, x-y]) if len(factor_list) == 2: break return factor_list
s = "wKq=1MDcLg6yYsrnRYivbO7JoWQ9rBhCZuo4DlZOS7_I5+t=UKzp0hdV1FNL2EFd/nxam3cTbPARsw+8Eky5XUpfH0MeTQ3JXtkGf9qj_4NmlHi/SeIVaCAgxGj26vW8PBzu"
a = s[72]+s[116]+s[76]+s[113]+s[124]+s[35]+s[104]+s[63]+s[91]+s[70]+s[24]+s[63]+s[113] b = s[38]+s[123]+s[115]+s[89]+s[96]+s[60]+s[75]+s[108]+s[32]+s[107]+s[37]+s[131]+s[38]+s[25]+s[75]+s[100]+s[63]+s[68]+s[57]+s[11]+s[70]+s[77]+s[3]+s[3] c = s[96]+s[89]+s[63]+s[62]+s[115]+s[74]+s[47]+s[47] e = payload = s[115]+s[65]+s[86]+s[39]+s[70]+s[4]+s[108]+s[124]+s[26]+s[65]+s[16]+s[116]+s[115]+s[103]+s[98]+s[77]+s[92]+s[48]+s[12]+s[44]+s[115]+s[62]+s[58]+s[55]+s[92]+s[37]+s[55]+s[40]+s[116]+s[71]+s[16]+s[83]+s[92]+s[48]+s[75]+s[23]+s[5]+s[74]+s[47]+s[47] h = s[17]+s[130]+s[106]+s[76]+s[113]+s[68]+s[75]+s[109]+s[55]+s[65]+s[26]+s[47]
文件上传题目,ctrl u 查看源代码后发现对于文件类型的转换在前端,只有要禁用js后即可上传木马文件
Reverse
Exc??
查看表格后发现需要将flag的ascii码套入公式后等于所给的值,直接爆破即可
1 2 3 4 5 6 7 8 9
a = [3976,5728,5640,4232,5272,3776,6464 ,6136,5408] b = [876,1147,1182,824,1082,866,1361,1278,1087] c = [16511,24822,26991,11999,21215,16374,37800,32739,21505] for index in range(9): for i in range(32,127): for j in range(32,127): for k in range(32,127): if (i << 3) + (j << 4) + (k << 5) == a[index] and i*3+j*4+k*5 == b[index] and i*j+j*k+k*i == c[index]: print(chr(i)+chr(j)+chr(k),end="")