百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP平安题目汇总
分享文章到:

PHP平安题目汇总

发布时间:09/01 来源:未知 浏览: 关键词:

1-XSS

Cross-Site Scripting(跨站足本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入歹意足本,使之在会员的阅读器上运转。利用这些歹意足本,攻击者可猎取会员的敏锐信息如 Cookie、SessionID 等,进而危害数据平安。

来源

  • 来自会员的 UGC 信息

  • 来自第三方的链接

  • URL 参数

  • POST 参数

  • Referer (大概来自不成信的来源)

  • Cookie (大概来自其他子域注入)

转义、过滤、限制长度

2-SQL注入

通过SQL语句,实现无账号登录,乃至篡改数据库。

攻击实例

String sql = "select * from user_table where username=
' "+userName+" ' and password=' "+password+" '";

--当输入了上面的会员名和密码,上面的SQL语句变成:
SELECT * FROM user_table WHERE username=
'’or 1 = 1 -- and password='’

"""
--剖析SQL语句:
--前提后面username=”or 1=1 会员名等于 ” 或1=1 那么这个前提必然会成功;

--然后后面加两个-,这意味着注释,它将后面的语句注释,让他们不起作用,这样语句永久都--能准确施行,会员轻易骗过系统,猎取合法身份。
--这还是比力温顺的,假如是施行
SELECT * FROM user_table WHERE
username='' ;DROP DATABASE (DB Name) --' and password=''
--其后果不言而喻…

怎样防备SQL注入
 1、检查变量数据类型和格局
 2、过滤非凡符号
 3、绑定变量,使用预编译语句  

3-CSRF

CSRF一样指跨站恳求捏造
CSRF攻击的全称是跨站恳求捏造( cross site request forgery),是一种对网站的歹意利用

CSRF则是通过假装来自受信赖会员的恳求来利用受信赖的网站,攻击者盗用了你的身份,以你的名义向第三方网站发送歹意恳求。CRSF能做的事情包罗利用你的身份发邮件、发短信、停止交易转账等,乃至盗取你的账号。

例如:
如下:其中Web A为存在CSRF破绽的网站,Web B为攻击者构建的歹意网站,User C为Web A网站的合法会员

3-1 CSRF攻击攻击道理及历程如下:

1.会员C翻开阅读器,拜访受信赖网站A,输入会员名和密码恳求登录网站A;

2.在会员信息通过验证后,网站A发生Cookie信息并返回给阅读器,此时会员登录网站A成功,可以正常发送恳求到网站A;

3.会员未退出网站A此前,在统一阅读器中,翻开一个TAB页拜访网站B;

4.网站B接收到会员恳求后,返回一些攻击性代码,并发出一个恳求要求拜访第三方站点A;

5.阅读器在接收到这些攻击性代码后,按照网站B的恳求,在会员不知情的状况下携带Cookie信息,向网站A发出恳求。网站A并不知道该恳求其实是由B发起的,所以会按照会员C的Cookie信息以C的权限处置该恳求,致使来自网站B的歹意代码被施行。

3-2防备CSRF攻击

当前防备 CSRF 攻击主要有三种战略:验证 HTTP Referer 字段;在恳求地址中增加 token 并验证;在 HTTP 头中自定义属性并验证。

1-验证 HTTP Referer 字段

按照 HTTP 和谈,在 HTTP 头中有一个字段叫 Referer,它记载了该 HTTP 恳求的来源地址。在平常状况下,拜访一个平安受限页面的恳求来自于统一个网站,比方需要拜访 http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory,会员必需先登陆 bank.example,然后通过点击页面上的按钮来触发转账事件。这时,该转帐恳求的 Referer 值就会是转账按钮所在的页面的 URL,平常是以 bank.example 域名开头的地址。而假如黑客要对银行网站实施 CSRF 攻击,他只能在他本人的网站结构恳求,当会员通过黑客的网站发送恳求到银行时,该恳求的 Referer 是指向黑客本人的网站。因此,要防备 CSRF 攻击,银行网站只需要关于每一个转账恳求验证其 Referer 值,假如是以 bank.example 开头的域名,则说明该恳求是来自银行网站本人的恳求,是合法的。假如 Referer 是其他网站的话,则有大概是黑客的 CSRF 攻击,回绝该恳求。

这种办法的不言而喻的好处就是简便易行,网站的一般开发人员不需要费心 CSRF 的破绽,只需要在最后给所有平安敏锐的恳求统一增添一个拦截器来检查 Referer 的值就可以。特殊是关于当前现有的系统,不需要改动当前系统的任何已有代码和逻辑,没有风险,非常便利。

然而,这种办法并非十拿九稳。Referer 的值是由阅读器供给的,虽然 HTTP 和谈上有明白的要求,但是每个阅读器关于 Referer 的详细实现大概有差异,并不克不及包管阅读器本身没有平安破绽。使用验证 Referer 值的办法,就是把平安性都依靠于第三方(即阅读器)来保证,从理论上来讲,这样并不平安。事实上,关于某些阅读器,比方 IE6 或 FF2,当前已经有一些办法可以篡改 Referer 值。假如 bank.example 网站支撑 IE6 阅读器,黑客完全可以把会员阅读器的 Referer 值设为以 bank.example 域名开头的地址,这样就可以通过验证,从而停止 CSRF 攻击。

即使是使用最新的阅读器,黑客没法篡改 Referer 值,这种办法依然有问题。由于 Referer 值会记载下会员的拜访来源,有些会员认为这样会侵犯到他们本人的隐私权,特殊是有些组织担忧 Referer 值会把组织内网中的某些信息泄露到外网中。因此,会员本人可以设定阅读器使其在发送恳求时不再供给 Referer。当他们正常拜访银行网站时,网站会由于恳求没有 Referer 值而认为是 CSRF 攻击,回绝合法会员的拜访。

2-在恳求地址中增加 token 并验证

CSRF 攻击之所以能够成功,是由于黑客可以完全捏造会员的恳求,该恳求中所有的会员验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的状况下直接利用会员本人的 cookie 来通过平安验证。要抵抗 CSRF,关键在于在恳求中放入黑客所不克不及捏造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 恳求中以参数的情势参加一个随机发生的 token,并在效劳器端创立一个拦截器来验证这个 token,假如恳求中没有 token 或者 token 内容不准确,则认为大概是 CSRF 攻击而回绝该恳求。

这种办法要比检查 Referer 要平安一些,token 可以在会员登陆后发生并放于 session 之中,然后在每次恳求时把 token 从 session 中拿出,与恳求中的 token 停止比对,但这种办法的难点在于怎样把 token 以参数的情势参加恳求。关于 GET 恳求,token 将附在恳求地址之后,这样 URL 就变成 http://url?csrftoken=tokenvalue。 而关于 POST 恳求来说,要在 form 的最后加上 ,这样就把 token 以参数的情势参加恳求了。但是,在一个网站中,可以接受恳求的地方非常多,要关于每一个恳求都加上 token 是很费事的,并且很容易漏掉,平常使用的办法就是在每次页面加载时,使用 javascript 遍历整个 dom 树,关于 dom 中所有的 a 和 form 标签后参加 token。这样可以解决大部分的恳求,但是关于在页面加载之后动态生成的 html 代码,这种办法就没有作用,还需要程序员在编码时手动增加 token。

该办法还有一个缺陷是难以包管 token 本身的平安。特殊是在一些论坛之类支撑会员本人发布内容的网站,黑客可以在上面公布本人个人网站的地址。由于系统也会在这个地址后面加上 token,黑客可以在本人的网站上得到这个 token,并立刻就可以发动 CSRF 攻击。为了不这一点,系统可以在增加 token 的时候增添一个推断,假如这个链接是链到本人本站的,就在后面增加 token,假如是通向外网则不加。不外,即便这个 csrftoken 不以参数的情势附加在恳求之中,黑客的网站也一样可以通过 Referer 来得到这个 token 值以发动 CSRF 攻击。这也是一些会员喜爱手动关闭阅读器 Referer 功效的缘由。

3-在 HTTP 头中自定义属性并验证

这种办法也是使用 token 并停止验证,和上一种办法不一样的是,这里并不是把 token 以参数的情势置于 HTTP 恳求之中,而是把它放到 HTTP 头中自定义的属性里。通过 XMLHttpRequest 这个类,可以一次性给所有该类恳求加上 csrftoken 这个 HTTP 头属性,并把 token 值放入其中。这样解决了上种办法在恳求中参加 token 的不便,同时,通过 XMLHttpRequest 恳求的地址不会被记载到阅读器的地址栏,也不消担忧 token 会透过 Referer 泄露到其他网站中去。

然而这种办法的局限性非常大。XMLHttpRequest 恳求平常用于 Ajax 办法中关于页面部分的异步刷新,并非所有的恳求都适合用这个类来发起,并且通过该类恳求得到的页面不克不及被阅读器所记载下,从而停止前进,后退,刷新,珍藏等操纵,给会员带来不便。别的,关于没有停止 CSRF 防护的遗留系统来说,要采纳这种办法来停止防护,要把所有恳求都改为 XMLHttpRequest 恳求,这样几乎是要重写整个网站,这代价无疑是不克不及接受的

4-CC攻击

4-1 CC攻击的道理:

 CC攻击的道理就是攻击者操纵某些主机不断地发大量数据包给对方效劳器造成效劳器资源耗尽,不断到宕机崩溃。CC主如果用来耗损效劳器资源的,每个人都有这样的体验:当一个网页拜访的人数特殊多的时候,翻开网页就慢了,CC就是模拟多个会员(多少线程就是多少会员)不断地停止拜访那些需要大量数据操纵(就是需要大量CPU时间)的页面,造成效劳器资源的白费,CPU长时间处于100%,永久都有处置不完的连接直至就网络堵塞,正常的拜访被中止。  

4-2 CC攻击的品种:

CC攻击的品种有三种,

  • 直接攻击
  • 代理攻击
  • 僵尸网络攻击

直接攻击主要针对有重要缺陷的WEB利用程序,一样说来是程序写的有问题的时候才会显现这种状况,比力少见。僵尸网络攻击有点相似于 DDOS 攻击了,从 WEB 利用程序层面上已经没法防备,所以代理攻击是CC 攻击者一样会操纵一批代理效劳器,比方说 100 个代理,然后每个代理同时发出 10 个恳求,这样 WEB 效劳器同时收到 1000 个并发恳求的,并且在发出恳求后,立即断掉与代理的连接,幸免代理返回的数据将本身的带宽堵死,而不克不及发动再次恳求,这时 WEB 效劳器会将响应这些恳求的进程停止队列,数据库效劳器也一样如此,这样一来,正常恳求将会被排在很后被处置,就象原本你去食堂吃饭时,一样只要不到十个人在排队,今天前面却插了一千个人,那么轮到你的时机就很小很小了,这时就显现页面翻开极其迟缓或者白屏。

4-3 CC攻击与DDOS的不同

DDoS是针对IP的攻击,而CC攻击的是效劳器资源。

5-DOS攻击

DOS:中文名称是回绝效劳,一切能引发DOS行动的攻击都被称为DOS攻击。该攻击的结果是使得运算机或网络没法供给正常的效劳。常见的DOS攻击有针对运算机网络带宽和连通性的攻击。 DOS是单机于单机之间的攻击。

DOS攻击的道理:第一攻击者向被攻击的效劳器发送大量的虚假IP恳求,被攻击者在收到恳求后返回确定信息,等候攻击者停止确定,(此处需要具有HTTP和谈工作方式和TCP三次握手的根本知识)该历程需要TCP的三次握手,由于攻击者发送的恳求信息是虚假的,所以效劳器接收不到返回确实认信息,在一段时间内效劳器会处与等候状态,而分配给这次恳求的资源却没有被开释。当被攻击者等候必然的时间后,会因连接超时而断开,这时攻击者在次发送新的虚假信息恳求,这样终究效劳器资源被耗尽,直到瘫痪。

6-DDOS攻击

DDoS攻击就是分布式的回绝效劳攻击,DDoS攻击手段是在传统的DoS攻击根基之上发生的一类攻击方式。简单的DoS攻击一样是采纳一对一方式的,随着运算机与网络技术的开展,DoS攻击的艰难程度加大了。于是就发生了DDoS攻击,它的道理就很简便:运算机与网络的处置能力加大了10倍,用一台攻击机来攻击不再能起作用,那么DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。常用的DDoS软件有:LOIC。
在这里补充两点:第一就是DDOS攻击不仅能攻击运算机,还能攻击路由器,由于路由器是一台非凡类型的运算机;第二是网速决议攻击的好和快,比方说,假如你一个被限制网速的环境下,它们的攻击结果不是很明显,但是快的网速比拟之下愈加具有攻击结果。

以上就是PHP平安问题汇总的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板