资安学习路上-网站常见漏洞与 Injection的爱恨情仇1

网站常见漏洞

  1. 使用者身分
  • 认证:弱密码(密码weak)、爆破密码(被字典档攻击),可设定登入几次,帐号锁定等方式。
  • 权限:一般弱点扫描软件扫不出来,比方说我用user A登入,却可存取user B才可存取的资料。
  • 参数:修改参数,比方说之前用curl修改,money参数改完送去後端,如果没验证就通过,就会发生问题。
  • Session(服务器)/Cookie(浏览器):常见漏洞 Hijack Cookie。
  1. 输入输出
  • Injection(最常出现):攻击者输入恶意指令,让资料库或系统透漏(输出)相关资讯(如使用者密码、信用卡个资等),或进一步瘫痪系统。
  1. 逻辑
  • 程序码逻辑:利用更改网址,进入其他机密资料夹,如:page = ../data/users.db,看起来是一个很正常的逻辑,如果网站刚好有 data/users.db这个档案,这样攻击者就可以读取资料库里的内容,窃取机敏资料。
    https://ithelp.ithome.com.tw/upload/images/20220507/20148431y0q6nQ3Q5V.png

上图取自台科大资安社课教材

爬虫爬什麽

1.爬网页的robots.txt=>通常为"网址/robots.txt",以google为例

  • robots.txt主要是当开发网站时,有些资讯不想被爬虫爬取,就可以写在robots.txt里面注明,比如下面的/search资料夹不能被爬(Disallow)、/search/about资料夹可以被爬(Allow)
    https://ithelp.ithome.com.tw/upload/images/20220507/20148431Okdazz91j7.png
  • 但相对来说可以穰攻击者找到其他路径可以去登入(密码爆破)
  • User-agent:如果服务器只看User-agent决定给不给过的话,可尝试修改User-agent伪冒登入使用(比如下面用AdsBot-Google登入存取/maps/api/js资料夹)
    https://ithelp.ithome.com.tw/upload/images/20220507/20148431bkyRCNG98I.png

常见的Injection

  1. Command Injection-->很危险,可执行系统指令,造成系统瘫痪
  2. CRLF Injection:运用插入空白字符(CR+LF),进一步执行自己的恶意程序码。
  3. SQL Injection:通常可窃取资料库里面,使用者个资。
  4. XSS Injection:利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使使用者载入并执行攻击者恶意制造的网页程序。
  5. XML Injection:又称XML External Entity, XXE,透过XML语法进行请求或上传,而造成处理器漏洞攻击,甚至产生资料外泄、DoS等严重的风险。
  6. server side template injection:恶意攻击者透过恶意请求,其中包含恶意的「template语法」,让这个template语法在服务器被执行。

归结上述疏忽都是服务器未对使用者输入输出进行过滤

CRLF injection:

1.在windows系统中,CRLF为"Enter"键的意思,而在Linux系统里仅用LF表示。
2.CR为Carriage Return表示Return;LF为Line Feed表示换行。
3.CR在ASCII中可用字符(\r)、10进位(0x13)、16进位表示(%0d), LF可用字符(\n)、10进位(0x10)、16进位表示(%0a)。
4.HTTP 中请求跟回应,有一个 CRLF ,用来告诉服务器说我们已经换行了。
https://ithelp.ithome.com.tw/upload/images/20220507/20148431YISFLpVpIt.png

上图取自台科大资安社课教材

5.CRLF injection:在可以插入字串的地方插入 CR(0x13)+ LF(0x10),用来欺骗服务器,告诉这里我们这边提早换行,然後在後面插入恶意的 payload 。
https://ithelp.ithome.com.tw/upload/images/20220507/20148431E8oZIdQQt5.png

上图取自台科大资安社课教材

6.CRLF injection 危害

  • 任意转址到恶意网站
  • 可能造成 session 固定攻击
  • 可能造成 XSS
  • 可能构造任何 HTTP Header 造成网页内容被改变

7.如何防护:过滤\r \n字元


<<:  资安学习路上-Linux基础与Web基础3

>>:  [自学笔记]LINQ资料查询技术

[Day 15]中场休息-HTTP Status Code的那些故事

好的,原本是要来继续写django的 但碍於写这篇的当下本人身体微恙 因此这篇我们就先来做个中场休息...

[Day 30] Ktor Q&A 与 Side Project Roadmap

终於来到铁人赛最後一天,本来想回顾总结我实作 side project 的过程,但想到读者应该对於 ...

Day4 - 建立Android模拟器

身为一个没有Android手机的用户 当要测试程序时,又借不到Android手机,怎麽办呢?? An...

Day 13:vim 设定档

+++ title = "Day 13:vim 设定档" date = &quo...

DAY27 - 来加速你的网站!利用Web Worker创造多执行绪的Javascript

什麽是Web Worker? 它可以做什麽?在了解Web Worker前,可能需要先知道:网页中 J...