Jak obejít javascriptovou ochranu odkazu?
Ahoj, dostal jsem za úkol naprogramovat něco, co by obešlo ochranu mp3s.nadruhou.net. Bohužel se mi to stále nedaří.
Vstupní kod:
<script type="text/javascript">eval( unescape("eval%28%20unescape%28%22var%2520lrc498c49105ec4c%2520%253D%2520%2527%2527%253B%2520var%2520a498c49105fc10%2520%253D%2520%2528%25280%2520-%2520%2528-4%2529%2529%2520%252B%2520%25283%2520%252B%25201%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520a498c49105fc10%253B%2520var%2520a498c491060b84%2520%253D%2520%2528%25286%2520-%2520%2528-3%2529%2529%2520%252B%2520%25280%2520%252B%25209%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520a498c491060b84%253B%2520var%2520c498c491061b23%2520%253D%2520%2528%25281%2520%252B%25207%2529%2520-%2520%2528-%25281%2520%252B%25207%2529%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520c498c491061b23%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520String.fromCharCode%252899%2529%253B%2520var%2520a498c491062ae5%2520%253D%2520%2528%25284%2520-%2520%2528-0%2529%2529%2520%252B%2520%25283%2520%252B%25201%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520a498c491062ae5%253B%2520var%2520c498c491063a9d%2520%253D%2520%2528%25282%2520%252B%25207%2529%2520-%2520%2528-%25281%2520%252B%25208%2529%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520c498c491063a9d%253B%2520var%2520a498c491064a45%2520%253D%2520%2528%25280%2520-%2520%2528-1%2529%2529%2520%252B%2520%25281%2520%252B%25200%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520a498c491064a45%253B%2520var%2520c498c4910659fb%2520%253D%2520%2528%25280%2520%252B%25200%2529%2520-%2520%2528-%25280%2520%252B%25200%2529%2529%2529%252F2%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520c498c4910659fb%253B%2520var%2520b498c4910669a6%2520%253D%25205%2520-%2520%2528-0%2529%2520%252B%2520%2528%25281-1%2529%252B%25284-4%2529%2529%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520b498c4910669a6%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520String.fromCharCode%2528100%2529%253Blrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520String.fromCharCode%252899%2529%253B%2520var%2520b498c4910679ef%2520%253D%25201%2520-%2520%2528-4%2529%2520%252B%2520%2528%25284-4%2529%252B%25281-1%2529%2529%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520b498c4910679ef%253B%2520lrc498c49105ec4c%2520%253D%2520lrc498c49105ec4c%2520%252B%2520String.fromCharCode%252898%2529%253Bdocument.write%2528%2522%253Ca%2520href%253D%255C%2522down.php%253Fco%253D65207-hanna-superhero-0398%2526amp%253BprotectId%253D%2522%252Blrc498c49105ec4c%252B%2522%255C%2522%253E%253Cb%253EST%25C1HNOUT%2520MP3%2520%253Cimg%2520src%253D%255C%2522http%253A%252F%252Fphaeton.nadruhou.net%252Fdata%252Fmp3s%252Fdown.gif%255C%2522%2520border%253D%255C%25220%255C%2522%253E%253C%252Fb%253E%253C%252Fa%253E%2522%2529%253B%22%29%20%29") );</script>
To je v pořádku, vyhodí to odkaz, jenže jak ten obsah toho odkazu (<a href="xxxxxx">xxxxx</a>) uložit do PHP proměnné? Zkoušel jsem v javascriptu:
var a = (eval(unescape("tenobsah")));
var string = "<?php $aa = '"+a+"';?>";
print_r(string);
Bohužel bez výsledku, pouze do proměnné se ukládá "+ a +"
Možná že to jen blbě píšu. Byl bych vděčný za jakoukoli pomoc.
Obcházení ochran je nelegální...
Tak si odmysli slovo ochrana.
Odkud (jakým způsobem) se ten odkaz má do PHP proměnné ukládat? Nechňápu...
Mám ten string (ten dlouhatánskej) a já obsah po "evalu", kterým je HTML odkaz potřebuju nějakým způsobem dostat třeba do PHP proměnné nebo JS proměnné.
Z tohoto:
eval( unescape("eval%28%20unescape%28%22var%2520lrc498c4 9............29%20%29") ); do <a href="....">...</a>, prostě do použitelné formy
To chápu, ale ten odkaz máš někde ve své stránce? Nebo je uložen na cizím serveru?
To dlouhé je na cizím serveru, odkud to beru s pomocí file_get_contents() a regulárních výrazů. Odkaz z toho dlouhého potřebuji právě dostat.
tak to rob vsetko v PHP, co do toho tahas javascript? javascript sa vykonava u klienta a nie v PHP.
Já chci robota, aby kradl z jedné stránky odkazy, jenže na tom webu je to totiž v té zakodované podobě a já ji potřebuji dekodovat
tak to rob vsetko v PHP, co do toho tahas javascript? javascript sa vykonava u klienta a nie v PHP.
Stále nevím, jestli tě chápu.... Takto?
To jsem zkoušel a:
?promenna1=undefined
Nie ?promenna1, ale $promenna1, a pouzit ju mozes az v tom zpracuj.php, a az potom ako sa od klienta zavola to php z toho javascriptu (alebo si to php najprv na skusku zavolaj sam, stylom: mojweb.com\zpracuj.php?promenna1=test
Takže měním otázku:
Jak s pomocí PHP dekodovat např. tento string?
Pomocí urldecode to nejde.
JUPÍ, tak stačilo dát tu fci urldecode 2x za sebou a už mi to vyplivlo odkaz I tak díky všem
pomocou urldecode to is musi. Napis sem co ziskas pomocou urldecode (vypis si to v PHP). To co ziskas musis pravdepodobne dalej analyzovat (bude to dalsi javascript, kedze pouzivaju 2x vnorene eval(), sak to tam vidis, nie?
P.S. no kym som sa vymackol tak uz si to zistil aj sam.
To tam mixujes nejak moc skriptov. javascript sa vykonava u klienta, PHP snad len na serveri (takze PHP sa vykona ako prvy a ku klientovi dojde blbost. Nechapem o co sa vlastne snazis. Ked chces premennu v PHP tak si ju musis v tom php scripte nacitat odniekial.