精选文章

两实习生争论渗透注入后,我才恍然大悟:原来手工注入是这样的!

2019-10-18 17:18:35 | 来源:中培企业IT培训网

听到两个菜鸡在争论,笑死我了,哈哈哈哈哈......

情况是这样,有次组里新来了几个实习生,然后呢不知道为什么吵了起来。

过了会才搞明白,在争论渗透注入这个事情,其中一个看家另外一个在研究手工注入,然后说了句SB,另外一个人肯定不乐意了啊,最后就吵了起来。(起名小王和小李)

小王:有现成的工具不用,瞎研究 手工注入干什么?

小李:我承认工具是很强,把网站链接扔进去一下子就可以出来,但是你想过背后发生了什么么?刚开始用工具是很快,但是不够深入啊!

小王:浪费时间

我看这不是个事啊,还是去缓和下吧,然后我就开始了 我的表演!


一、从原理说起

我先简单说一句,你俩分析这句话对不对?

“Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击”。

本质上就是对数据库进行相关的读写操作。

理所当然,这句话肯定没问题,一顿小鸡啄米般的点头。

那么我们回到刚才你俩争论的点,一个说工具为王,一个说原理为王。

这句话我认为对,也不对。


本质上工具都是代码构成,大家在大学里应该都学过一门课程,c++,后面还会使用visual studio自己编写程序并且生成exe文件。

其实不过是一些参数的传递应用,工具只是省略了一些步骤,这些步骤在应用工具时候对咱们是透明的,而手工注入只不过是没有透明,所以你俩没必要太过争论应用方面的事情。

你们不管怎么做都已经在应用了原理,只不过有的透明,有的不透明而已。

工具只是很基础的,到了后面,你会发现更多的是从代码层面,也就是原理需要了解的够多,这样才能得心应手。

如果你不知道原理就很尴尬了,现在的工具一般都需要首先找到注入点才可以放在工具里面应用,最常见的做法就是 or1=1(1=2)进行简单的判断,当然还有更深入的,其实都是和数据库相关。

说的有点多,还是给你们做个实验看看。

这次我就不使用网站了,使用一个DVWA环境直接验证。(省的违法,这个简单直接)

二、小实验——手工注入

1、环境

搭建不多说,直接看结果

上面这个看左侧,直接可以模拟多种漏洞,废话不多说,直接进入主题。

2、输入值查询


数据查询成功,继续测试:输入1′and ’1 ‘=’2,查询失败,返回为空

我天,莫名开始激动了,两次结果不同,可能存在注入点,继续测试,验证结果。

输入1′or ’1234 ‘=’1234,查询成功,说明存在注入。


3、原理分析

上面只是手工注入的一小部分内容,这次不继续深入,现在我们看下原理到底是怎么回事呢?

这次我要高大点,直接让你们看源码,结合源码来说,注入的一瞬间到底发生了什么事情。

把刚刚注入成功的语句拼接进去看看。1′or ’1234 ‘=’1234

原理其实很简单,就是通过一个条件语句判断,如果where后面的条件语句为真,就可以进行查询,如果条件判断为假,就为错,不返回任何结果。

三、总结

其实这个装逼我很满意,讲了这么简单的一点东西,就收获了两个崇拜,哈哈!

玩笑话,原理说白了都是很简单的,不管你工具怎么变换,都是从这个原理出发的。

手工注入还有哪些内容呢?shell怎么获取到呢?

未完待续,下期继续更新。



标签: 信息安全