当前位置:首页 > 黑客业务 > 正文内容

简单的黑客攻击代码(黑客入侵的代码)

hacker2年前 (2022-08-15)黑客业务115

写在前面的话

本系列教程仅以学习教育为目的,请不要用你在本教程中学到的东西去测试其他的站点,本人对此类行为概不负责。

前情提要

在《让你在游戏中变成高端黑客:SQL注入攻击全教程系列-开始游戏》中,我们介绍了有关SQL注入的一些基础知识,并且将项目的PHP代码文件安装到了我们的电脑里面,那么今天我们就以“基于错误信息的SQL注入”开始我们的系列闯关课程。

什么是SQL注入攻击?

SQL注入攻击是一种通过网站来攻击后台数据库的技术。作为一种代码注入技术,SQL注入利用的是网站软件中存在的安全漏洞。

Lesson 1:基于错误信息的SQL注入

打开localhost/sqli-labs-master/Less-1/index.php之后,你将会看到如下图所示的界面:

展开全文

界面中显示了“Welcome Dhakkan”," Dhakkan"是印度俚语,指的是“愚蠢的人”。好吧,欢迎你,小傻瓜...

根据界面提示,你需要输入一个ID作为参数,其ID为数字值。那我们按照提示输入:

简单的黑客攻击代码(黑客入侵的代码)

?id=1

?id=1

按下回车之后,你会看到下图所示界面:

那么这一关我们就成功闯过啦!我们在URL地址后添加了一个参数,并将这个参数指向了数据库表中ID为1的记录,这样一来我们便得到了用户ID为1的用户名(Dumb)和相应的密码(Dumb)。你也可以尝试其他的数字,例如?id=2或?id=10,你将会得到不同的用户信息。

原理分析

接下来,用编辑器打开Less-1目录下的index.php,然后查看其源代码的第29行:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

我们在URL中添加了额外的ID参数之后,整个过程中后台起作用的查询语句如下:

Select * from TABLE where id=1;

Select * from TABLE where id=1;

简单的黑客攻击代码(黑客入侵的代码)

如果你输入的是?id=999999或?id=hahahaha,你就会发现页面不会有任何的输出。但如果你在刚才的?id=1后面加个单引号(?id=1'),你就会发现系统输出了错误信息:

我们先来分析一下这段错误信息,其重点就在结尾的地方:

''1'' LIMIT 0,1' at line 1

''1'' LIMIT 0,1' at line 1

先看这个双引号括起来的数字1,噢不,其实它是由两对单引号括起来的,稍微格式化一下就变成了:

' '1' ' LIMIT 0,1 ' at line 1

' '1' ' LIMIT 0,1 ' at line 1

第一个和最后一个单引号是用来包裹出错的SQL语句的,我们可以直接去掉,然后格式化之后如下:

' 1' ' LIMIT 0,1

' 1' ' LIMIT 0,1

也就是我们刚才输入的1和一个单引号,而这个不成对的单引号破坏了原本的SQl语句执行。

这一次我们用反斜杠(MySQL的转义字符)代替刚才的单引号,并让SQL语句执行出错:

格式化之后的信息如下:

' 1\ ' LIMIT 0,1

' 1\ ' LIMIT 0,1

拿第一个例子(?id=1')来说,现在我们得想办法不让它报错,我们有两种方法去修复它。1.注释掉1'后面的语句;2.补充一个单引号与之匹配。

第一种方法就是在语句末尾添加两个破折号+空格来注释掉后面的语句:

' 1' -- ' LIMIT 0,1

' 1' -- ' LIMIT 0,1

在浏览器中,我们需要输入%20或+来代表空格符(URL编码),否则注释将无效。输入localhost/sqli-labs-master/Less-1/index.php?id=1' --%20然后按下回车:

除此之外,我们也可以通过#来完成注释。同样的,#所对印的URL编码为%23:

第二种就是在?id=1'的后面再加一个单引号,这个请同学们自己动手尝试。

目前一切进展顺利,但是你可能会有个疑问:我们这样破坏SQL语句然后又修复它们,到底有什么意义呢?

我们可以看到,我们的输入信息永远是被一对单引号(或双引号)包裹住的,无论我们输入什么内容,它都会在这对引号之中。那么当我们输入了一个单引号之后:

' '(我们输入的) '

' '(我们输入的) '

这个单引号就帮我们结束掉了左边那部分的SQL语句,接下来我们就可以在右边写我们所要执行的语句了。比如说,我们可以写上AND 1=1(这个条件永远为真),然后注释掉右侧的内容:

也就是说,变量$id包裹在单引号中(id = ' $id ')。当我们在URL地址后面添加一个?id=1' AND 1=1 ,那么id = ' $id '就会变成id = ' ' AND 1=1 ',这样就直接让id等于了一个空字符串,并运行AND后面的语句,不过由于右侧还多出了一个单引号,所以我们还得注释掉这个单引号以及它后面的内容。

' AND '1'='1对应 id = ' ' AND '1'='1 ' LIMIT 0,1

' AND 1=1 --+对应 id = ' ' or 1=1 --+ ' 被注释掉的内容

' AND 1=1 #对应 id = ' ' or 1=1 # ' 被注释掉的内容

' AND '1'='1对应 id = ' ' AND '1'='1 ' LIMIT 0,1

' AND 1=1 --+对应 id = ' ' or 1=1 --+ ' 被注释掉的内容

' AND 1=1 #对应 id = ' ' or 1=1 # ' 被注释掉的内容

总结

那么第1关就这样轻松搞定啦!希望大家能够认真学习,有什么疑问或者想法也可以在文章下方或给“安全猴”留言,第2关马上就来,之后可就没那么轻松咯!

更多国内外精彩安全资讯以及信息安全技术资源,尽在“安全猴”

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/134288.html

分享给朋友:

“简单的黑客攻击代码(黑客入侵的代码)” 的相关文章

华流芒种是几月几号农历

芒种是二十四节气之一,大家对于二十四节气也已经非常熟悉了,但是芒种是哪一天还不是很清楚,今年的芒种是阳历6月5日,那么2020年芒种是农历几月几号呢?接下来我们就一起了解一下吧。     2020年芒种是农历几月几号...

字节承认商业化团队撤城裁员

据晋江新闻网2021年10月19日21:00:43的最新发布,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,黑客追款后来被报道了几次。猜测第六百八十八章逃港者第六百八十九章调侃第六百。相对这个账号是他的。 1.专业网赌追回律师 首先确保整个真正的黑客追款方案是最...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

蜂胶多少钱一瓶是真的(蜂胶五毒膏多少钱一只)

之前听说这客户有糖尿病,蜂胶就是物稀价贵,变成日常可以食用的营养品。 我经常买的澳佳宝的120左右220粒。如果是纯蜂蜜的话,一般是100-300之间的,59块钱一瓶,在100~300是左右不等,总钱黄酮大于4000mg/100g的含量,一定要注意通过正规的渠道购买,我只知道麦金利的。 蜂胶软胶囊价...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

intense靶场-获取User权限

出品|MS08067实验室(www.ms08067.com) 本文作者:jokelove(Ms08067内网安全小组成员) Intense是HTB中一个难度中上的靶场,需要参与者具备下述能力: 1. Python源码审计 2. SQL注入原理 3. SNMP远程命令执行 4. 栈溢出...

评论列表

冢渊掩灼
2年前 (2022-08-15)

1=1(这个条件永远为真),然后注释掉右侧的内容: 也就是说,变量$id包裹在单引号中(id = ' $id ')。当我们在URL地址后面添加一个?id=1' AND 1=1 ,那么id = '

温人昭浅
2年前 (2022-08-15)

' 1\ ' LIMIT 0,1' 1\ ' LIMIT 0,1拿第一个例子(?id=1')来说,现在我们得想办法不让它报错,我们有两种方法去修复它。1.注释掉1'后面的语句;

礼忱世味
2年前 (2022-08-15)

在的安全漏洞。Lesson 1:基于错误信息的SQL注入打开localhost/sqli-labs-master/Less-1/index.php之后,你将会看到如下图所示的界面: 展开全文界

离鸢戈亓
2年前 (2022-08-15)

车: 除此之外,我们也可以通过#来完成注释。同样的,#所对印的URL编码为%23:第二种就是在?id=1'的后面再加一个单引号,这个请同学们自己动手尝试。目前一切进展顺利,但是你可能会有个疑问:我们这样破坏SQL语句然后又修复它们,到底有什么意义呢?我们可以看到,我们的输入信息永远是被一对

囤梦笙沉
2年前 (2022-08-15)

ocalhost/sqli-labs-master/Less-1/index.php?id=1' --%20然后按下回车: 除此之外,我们也可以通过#来完成注释。同样的,#所对印的URL编码为

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。