前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web渗透测试|SQL报错注入

Web渗透测试|SQL报错注入

作者头像
算法与编程之美
发布2020-10-26 14:59:23
4780
发布2020-10-26 14:59:23
举报

原理

1.updatexml() 更新xml文档的函数。

语法:updatexml(目标xml内容,xml文档路径,更新的内容)

2.concat()连接字符串。

语法:concat(str1,str2,str3,…..)

3.“#”:MySQL数据库注释,但凡在回车前“#”后的内容都会被注释。

Mysql支持16进制,但是开头得写0x,0x7e是一个特殊符号。

4.SQL报错注入原理:

使用updatexml函数去更新XML文档,但是我们在XML文档路径的位置里面写入了子查询,我们输入特殊字符(0x7e),然后就因为不符合输入规则然后报错了,但是报错的时候,它其实已经执行了那个子查询代码!

实战

演示靶场为网上真实网站,且已经过站长同意。

1.此网页为网站注册页面。当我们注册用户时,网站后台流程为前端将我们注册的用户名和密码传入web服务器,再由web服务器将用户名和密码储存到数据库服务器中。由此我们分析数据库插入语句可能是:

代码语言:javascript
复制

insert into user(username,password)  values('admin','123456')

2.尝试通过前端传入数据,修改数据库插入语句,加入updatexml语句:

代码语言:javascript
复制

insert into user(username,password)  values('admin','123456')

此时可以通过本地搭建数据库模拟语句,观察返回结果。

3.如上图所示在使用updatexml函数中加入database()函数,经查询即可得到数据库名。

通过以上测试我们在靶场中输入如下内容:

代码语言:javascript
复制

username:' or updatexml(1,concat(0x7e,database()),1),1)#

password:随便输

结语

SQL注入漏洞属于高危漏洞,不仅能窃取用户隐私,还可以攻陷服务器,危害巨大。由于多方面原因,目前仍有少数网站存在此漏洞。学习网络安全不仅是用于渗透测试,更是提升网站开发人员能力的重要途径。

以上内容仅用于信息技术防御教学,切勿用于其他用途。

END

主 编 | 王楠岚

责 编 | KeeCTh

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档