打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Web渗透测试|SQL报错注入
原理
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服务器将用户名和密码储存到数据库服务器中。由此我们分析数据库插入语句可能是:
insert into user(username,password)  values('admin','123456')
2.尝试通过前端传入数据,修改数据库插入语句,加入updatexml语句:
Insert into user(username,password)  values('' or updatexml(1,concat(0x7e,database()),1),1)#admin','123456')
此时可以通过本地搭建数据库模拟语句,观察返回结果。
3.如上图所示在使用updatexml函数中加入database()函数,经查询即可得到数据库名。
通过以上测试我们在靶场中输入如下内容:
username:' or updatexml(1,concat(0x7e,database()),1),1)#
password:随便输
结语
SQL注入漏洞属于高危漏洞,不仅能窃取用户隐私,还可以攻陷服务器,危害巨大。由于多方面原因,目前仍有少数网站存在此漏洞。学习网络安全不仅是用于渗透测试,更是提升网站开发人员能力的重要途径。
以上内容仅用于信息技术防御教学,切勿用于其他用途。
END主  编   |   王楠岚
责  编   |   KeeCTh
能力越强,责任越大。实事求是,严谨细致。
——where2go 团队
微信号:算法与编程之美
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
部分sql注入总结
渗透测试之SQL注入基础
WEB渗透测试中SQL注入那点事
MySQL手工注入学习-1
CTF-sql-group by报错注入
Web安全之SQL注入(原理,绕过,防御)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服