web安全之CSRF等
CSRF 跨站请求伪造
原理:利用cookie等认证凭据进行攻击。
流程:用户登录正常网站后,访问恶意网站,点击欺骗性按钮后触发指向正常网站的伪造请求。(借助社工手段)
触发方式:<a>或<img>标签(get或post请求均可)。
防御方式:区分POST/GET请求、验证Referer字段、验证Token(随机字符串)、二次验证、良好的上网习惯、自定义属性并验证。
分类:站内、站外。
SSRF 服务端跨站请求伪造
原理:服务端开启了从其他服务器应用获取数据的功能,且未对目标地址做过滤或限制,导致黑客对服务器及其所在内网进行信息收集等攻击。
危害:扫描此服务器端口、读取本地文件、web应用指纹识别(判断phpmyadmin是否安装及详细版本)、攻击内网应用(weblogic ssrf---redis未授权访问---getshell)。
防御方式:
PHP关闭curl功能。
限制协议-仅允许http和https请求,禁止dict等协议。
限制IP-禁止地址为内网地址。
限制请求的端口仅为http常用端口如80,443,8080等。
过滤返回信息-验证远程服务器返回的信息(例如非图片一律拒绝回显)。
统一错误信息-避免黑客根据错误信息判断远程服务器端口状态等。
漏洞挖掘:对外发起网络请求的地方都可能存在ssrf漏洞,例如图片加载下载、分享页面、在线翻译、未公开的api(从远程服务器请求资源文件处理、编码处理、属性信息处理等)。
挖掘验证是否存在ssrf漏洞:bp抓包、右键打开图片。
绕过方式:@ipaddr、ipaddr转换进制
XXE
原理:XML External Entity Injection,即xml外部实体注入。WEB中间件在解析上传的xml文件时,未对其中的恶意外部代码进行过滤。
危害:文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等。
防御方式:使用开发语言提供的禁用外部实体的方法、过滤用户提交的XML数据(过滤关键字:<\!DOCTYPE和<\!ENTITY,或者SYSTEM和PUBLIC)、不允许XML中含有自己定义的DTD。
- 什么是XML
XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。它被设计用来传输和存储数据(而不是显示数据),可扩展标记语言是一种很像超文本标记语言的标记语言。它的设计宗旨是传输数据,而不是显示数据。它的标签没有被预定义。您需要自行定义标签。它被设计为具有自我描述性。它是W3C的推荐标准。
XML由3个部分构成,它们分别是:
文档类型定义(Document Type Definition,DTD),即XML的布局语言;
可扩展的样式语言(Extensible Style Language,XSL),即XML的样式表语言;
可扩展链接语言(Extensible Link Language,XLL)。
XML与HTML的区别
可扩展标记语言(XML)和超文本标记语言(HTML)为不同的目的而设计
它被设计用来传输和存储数据,其焦点是数据的内容。
超文本标记语言被设计用来显示数据,其焦点是数据的外观
信息泄露
.svn/.git源代码泄露
.svn/.git源代码泄露主要原因是由于应用系统开发人员或运维管理人员在对应用系统进行版本迭代更新时,没有及时对代码版本维护程序(svn或git)中所产生的代码索引或代码库文件进行及时清理,攻击者可通过读取该代码索引或代码库文件访问并下载应用系统的源代码信息,最终导致应用系统的源代码信息遭到泄露,攻击者可进一步通过源代码审计的方式挖掘应用系统中存在的安全隐患。
工具:
svnExploit-master
.svn采用svn_extractor.py进行源代码获取,执行
svn_extractor.py –url http://www.example.com/.svn/
.git采用githack进行源代码获取,执行
gitHack.py http://www.example.com/.git/
弱口令
未授权
redis
其它漏洞?
#目录遍历
#下载漏洞
谷歌语法批量查找&爬行某站找到此url——down.asp?fileup=
然后下载敏感文件:conn.asp、config.asp、config.php、db.mdb等等
#PHP变量覆盖漏洞
PHP中的register_globals为on
实例:Dedecms安装绕过、覆盖管理员账号密码
#HTTP响应头拆分攻击
#不安全的HTTP方法
GET/POST/OPTION/PUT/
后记
皮卡丘靶场资料:https://jwt1399.top/posts/30313.html