Hack this site realistic 2

Hack this site realistic 2
这一关还是一个实战的例子。
界面讲的是,一个纳粹团伙在招募同伴,需要技术高超的你去黑了他们网站。
1、黑网站需要进入后台,怎么进呢,连个登录入口都没有;
搜了一下,发现全选,会发现下边有一个update连接,点击之后,进入登录页面:
这里写图片描述

这里写图片描述
2、很明显,需要破解用户名密码;怎么破解呢;我刚开始想到了使用burp suite,但是发现这里考察的是技术,而不是真的要进入网站,于是猜想其他方法;应该就是sql 注入;
在用户名文本框里输入 ’ or 1=1– ,试一下,成功过关;

这里用到的是sql注入技术,在用户名文本框输入 ’ or 1=1– ,意思是虽然用户名为空,但是1=1必定成立,且–把后边的sql命令给注释了
先学会记住这个用法,回头总结一下sql注入;
一点一点积累知识

sql注入最简单的理解,从别处借鉴过来的,特别简单易懂:

在一个登录界面,填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们“欢迎管理员”的界面。
代码执行过程是这样的:
  select * from users where username=’marcofly’ and password=md5(‘test’)

  很明显,用户名和密码都和我们之前给出的一样,肯定能够成功登陆。但是,如果我们输入一个错误的用户名或密码呢?很明显,肯定登入不了吧。恩,正常情况下是如此,但是对于有SQL注入漏洞的网站来说,只要构造个特殊的“字符串”,照样能够成功登录。

  比如:在用户名输入框中输入:’ or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:

  select * from users where username=” or 1=1#’ and password=md5(”)

  语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价:

  select * from users where username=” or 1=1#’ and password=md5(”)

  等价于

  select * from users where username=” or 1=1

SQL注入采用的’ OR 1=1 # 是什么意思呢?
最后一个#号有什么意义呢?
SELECT * FROM test WHERE name=” OR 1=1 #’ AND age=’20’
这后面写的 #’ 是什么意思呢? 求指教

可以注释掉后面的一行SQL代码

相当于去掉了一个where条件
MySQL 注释, 过滤掉后面的SQL语句,使其不起作用
SQL server中注释是–

因为1=1永远是都是成立的,即where子句总是为真,将该sql进一步简化之后,等价于如下select语句:

select * from users 没错,该sql语句的作用是检索users表中的所有字段

小技巧:一个经构造后的sql语句竟有如此可怕的破坏力,相信你看到这后,开始对sql注入有了一个理性的认识了吧~

有漏洞的脚本才有机会给你攻击,比如一个带参数的删除脚本a.asp?action=del&id=2你可以改为a.asp?action=del&id=2 or 1这样就有可能删除全部数据——sql注入就是通过类似的手段来破坏数据

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值