利用网站常见的漏洞进行入侵和攻击(含防御)

入侵网站最主要还是靠漏洞的,如果这个网站的漏洞一个也没有,我们就无机可乘。但是,毕竟世界上不会有任何一个东西完美无缺,所以,即使安全性再高的网站也会有入侵的风险。
那么,今天我就来教大家认识这些漏洞,并利用漏洞进行攻击,以及防御和处理。

No.1 ‘or’='or’经典漏洞

SQL注入攻击一般存在于网页用户提交数据的地方,而登录框就是最常提交的地方。所以一定存在针对登录的注入攻击。
‘or’='or’漏洞是一个比较“古老”的漏洞了,曾经在网上普遍存在,也攻击过许多网站。黑客可以利用这个漏洞直接进入后台,拿到Admin权限。

‘or’='or’攻击实现

‘or’=‘or’漏洞主要出现在后台登录提交上,利用这个漏洞可以不需要密码而进入系统后台。由于程序员在编写代码时考虑不足,或没有对单引号进行过滤,导致这个漏洞出现了。下面,我通过进入一个存在该漏洞的论坛来介绍’or’='or’漏洞。

打开要攻击的论坛,然后在用户名和密码的文本框内输入Admin’和12345’,然后点击“登录”。
会发现,网页跳转到了如下界面:

意思是:

(省略不重要部分)
语法错误(操作符丢失)在查询表达式'BBS_MEMBERS>NAME = 'admin''AND BBS_MEMBERS>Password='admin''AND BBS_MEMBERS.STATUS=1'/bbs/login.asp,46

说明,我们输入admin’时,出现了错误。因为该网站在将字符串’admin’‘送给SQL数据库执行时,SQL编译器报错:
‘admin’‘语法错误,缺少’ ’ ’
因为在用单引号引起字符串时,会出现语法错误,编译器误以为admin后面的单引号是这个字符串的结尾。接着,后面的单引号再次引起一个字符串,结果没有下一个单引号(也可能是有,然后最后一个单引号时报错),就报错了。
(如果没有报错说明此网站没有’or’=‘or’漏洞)
接下来,我们回到刚刚的网站,输入:
User:Admin
Password:a’or 1=1–’
点击登录。
发现,我们已经成功登录了。我们就可以对网站进行操作了。

通过’or’='or’漏洞,可以不用输入正确的密码就可以进入后台进行管理。
刚刚说了,这个网站的代码因为输入有错而产生错误。那么,我们不妨猜测一下,这个网站的SQL语句是什么?

Select * from accounts where BBS_MEMBERS.NAME= '用户名' and BBS_MEMB ERS .Password=' 密码'

当输入admin和a’or 1=1–'时,它就成了:

Select * from accounts where BBS_MEMBERS.NAME= 'admin' and BBS_MEMB ERS .Password='a' or ' 1=1--'

那么,1=1的值永远为真,所以,密码检测就通过了。

‘or’='or’漏洞防御

在编写代码时,注意语法格式,并且可以尝试在运行检测语句之前,加上判断语句,判断是否有’,如果有,那么返回浏览器一个值,要求重新输入。也许这样可以有效地进行防备。
这里我要说一下,淘宝(天猫)的’or’='or’漏洞防御就做的非常好,我输入admin’和12345’后,他会返回密码和用户名错误,然后还会发现," ’ “变成了字符的编码,也就是” & # 3 9 ; “(抱歉,其实是合起来的,因为CSDN会自动将其变为” ’ ",所以只好这样了)
图片如下:

No.2 弱口令漏洞

很多网站的管理员密码可能都是弱口令。
弱口令指什么?
不仅仅指123456这些简单的密码!
弱口令,就是有规律、不复杂的密码。例如:
这个网站的管理员叫小刚,他的生日是1980.1.1,那么,我们在获得一些信息后,输入密码:
XG19800101
也许不对,但是,黑客们会有一个好办法:穷举。
就是让程序帮你一个一个的试,把所有包含xiaogang和19800101等的相关字符串都试一遍,可能就会试出密码。

No.3 无检测漏洞

上面的穷举方式的成功还得靠无检测漏洞的帮忙。
什么是无检测漏洞?
就是我们所谓的“你的密码已输错超过三次,请5天后再试!”没有。
这样,穷举的方式就可以成功了。
如果有呢?
在到达第三次时,就会显示这个提示,并且拒绝接受表单。那么,黑客是不是就不能进行穷举了呢?

No.4 无处理漏洞

无处理漏洞拿最简单的例子来说,可以用图表示:

(本人画画比较丑,见谅)
这里有个故事:
团长拿到了敌方的电报密码,要告诉司令。送信的人还没来,敌军间谍来了,拿走了密码和用户名。然后真正送信的人一脸懵,间谍拿到了电报。
那么,我们将这个故事给变一下:
用户输入了自己的用户密码,要告诉程序和数据库。表单传输后程序还没来得及接受,黑客来啦,拿走了密码和用户名。程序一脸懵(报错),黑客拿到了密码和用户名。
不加密的坏处很多,就比如说我讲的那点。并且,最好自己研制一种加密法(你可以随便研制一种无规律加密法),这样防止黑客用完在线解密器解密。

No.5 超时漏洞

某些黑客可能会利用超时漏洞来进行攻击。什么意思呢?就是程序在使用时无响应,相应超时,会导致所有程序停止。黑客就会乘机进行DDoS等攻击,导致网站瘫痪。
目前我尚未找到关于此漏洞的解决方案。

最后

此文章我会经常更新,欢迎来阅读!
有什么问题可以评论,有什么建议也可以哦!
欢迎阅读我的其他博客!

发布了18 篇原创文章 · 获赞 281 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/tiantian520ttjs/article/details/104106576