中科全安-面试总结
作者:互联网
本次总结只是自己学习记录,欢迎小伙伴学习。
但是先说我比较菜问的问题比较简单,然后我都不太熟悉,所以问的不深入。
1.渗透测试溯源熟悉吗?
2.redis默认端口?
3.redis未授权访问复现?
4.如何收集网站的子域名和所有的资产?
5.讲一讲csrf?
6.如何进行cda绕过?
7.讲一讲sql注入?
8.讲一讲宽字节注入?
9.MySQL5以下版本和以上版本有什么区别?
10.如何识别网站是shiro的框架?
下面对以上的问题一个个进行一下总结,我就不说我的回答了,我太紧张没答好。
1.渗透测试溯源熟悉吗?
攻击溯源作为安全事故中事后响应的重要组成部分,通过对受害资产与内网流量进行分析一定程度上还原攻击者的攻击路径与攻击手法,有助于修复漏洞与风险避免二次事件的发生。攻击知识可转换成防御优势;如果能够做到积极主动且有预见性,就能更好地控制后果。
参考博客:
渗透测试 - 黑客技术 | 浅谈入侵溯源过程中的一些常见姿势_吾爱漏洞 (52bug.cn)
网站渗透测试日志溯源技术与密码授权机制分析-软文发布平台oem365微信小程序
上面的博客写的对溯源介绍的比较全面。
我自己进行一个简单的总结:
2.redis默认端口?
3.redis未授权访问复现?
默认端口是:6379
我自己的总结:
漏洞原因是配置不当导致未授权访问,如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,可以通过SSH登录受害服务器。部分服务器上的Redis 绑定在 0.0.0.0:6379,并且没有开启认证(这是Redis 的默认配置),以及该端口可以通过公网直接访问,如果没有采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,将会导致 Redis 服务直接暴露在公网上,可能造成其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。
目前比较主流的案例:yam2 minerd 挖矿程序,还有在多次应急事件中发现大量的watch-smartd挖矿木马。
这一篇博客对于漏洞原理和复现的过程介绍得比较清楚。
参考博客:
(81条消息) redis未授权访问漏洞复现_网安溦寀的博客-CSDN博客_redis未授权访问
4.如何收集网站的子域名和所有的资产?
资产收集定义:发现目标环境中有哪些资产,
资产:联网设备、主机、服务器、各种服务等
可以用nmap去扫描网站
参考博客:
(81条消息) 渗透测试-快速全面搜集站点下的资产小技巧_青果@的博客-CSDN博客_渗透测试资产收集
资产收集的方法总结|NOSEC安全讯息平台 - 白帽汇安全研究院
5.讲一讲csrf?
网站是通过cookie来实现登录功能的。而cookie只要存在浏览器中,那么浏览器在访问这个cookie的服务器的时候,就会自动的携带cookie信息到服务器上去。那么这时候就存在一个漏洞了,如果你访问了一个别有用心或病毒网站,这个网站可以在网页源代码中插入js代码,使用js代码给其他服务器发送请求(比如ICBC的转账请求)。那么因为在发送请求的时候,浏览器会自动的把cookie发送给对应的服务器,这时候相应的服务器(比如ICBC网站),就不知道这个请求是伪造的,就被欺骗过去了。从而达到在用户不知情的情况下,给某个服务器发送了一个请求(比如转账)。
漏洞防护的话:
CSRF攻击的要点就是在向服务器发送请求的时候,相应的cookie会自动的发送给对应的服务器。造成服务器不知道这个请求是用户发起的还是伪造的。这时候,我们可以在用户每次访问有表单的页面的时候,在网页源代码中加一个随机的字符串叫做csrf_token,在cookie中也加入一个相同值的csrf_token字符串。以后给服务器发送请求的时候,必须在body中以及cookie中都携带csrf_token,服务器只有检测到cookie中的csrf_token和body中的csrf_token都相同,才认为这个请求是正常的,否则就是伪造的。那么黑客就没办法伪造请求了。在Django中,如果想要防御CSRF攻击,应该做两步工作。第一个是在settings.MIDDLEWARE中添加CsrfMiddleware中间件。第二个是在模版代码中添加一个input标签,加载csrf_token。
参考博客:
(81条消息) 什么是CSRF_炎升的博客-CSDN博客_csrf (csrf理论介绍)
6.如何进行CDN绕过
CDN 的全称是 Content Delivery Network,即内容分发网络。不绕过CDN进行渗透,极大可能有各种云盾进行阻拦。
个人梳理总结:
参考博客:(81条消息) 渗透测试信息收集——CDN绕过_Shadow丶S的博客-CSDN博客
7.8.9
三个问题合并总结吧,好像差不多?
7.sql注入的主要流程是先找到注入点,判断注入点类型,判断当前页查询的表列数,再判断回显,知道回显以后构造payload查询数据库名,表名,列名,还有表中的数据。也可以通过sqlmap等数据库注入工具去实现。
8.宽字节注入其实是开发人员对输入的敏感数据如' " >进行特殊的函数处理后,且在数据库为GBK编码的条件下可以实现的一种数据库注入攻击。比如addslashes()函数就是在特殊字符前加上/对字符进行转义,在PHP中使用addslashes函数的时候,会对单引号%27进行转义,在前边加一个反斜杠”\”,变成%5c%27;可以在前边添加%df,形成%df%5c%27,而数据进入数据库中时前边的%df%5c两字节会被当成一个汉字;这样子%27还是会被译为单引号。
payload:
root %df' or 1=1 # # 原理:在GBK编码中,反斜杠的编码是%5c,在输入%df后,使得添加反斜杠后形成%df%5c,而%df%5c是繁体字“連”,单引号成功逃逸,爆出Mysql数据库的错误修复建议:
(1)使用mysqli_set_charset(GBK)指定字符集
(2)使用mysqli_real_escape_string进行转义
9. information_schema数据库是在mysql的版本5.0之后产生的,一个虚拟数据库,物理上并不存在。这个数据库记录了整个数据库的信息,所有的库,所有的表,所有的列名。所以对MySQL数据库进行查询时主要通过这个表来查询。
参考博客:
(81条消息) sql注入详解_山山而川'的博客-CSDN博客_sql注入 (sql注入的流程)
SQL注入——宽字节注入原理及绕过方式 - 码农教程 (manongjc.com) (宽字节注入详解)
(81条消息) [Pikachu靶场实战系列] SQL注入(宽字节注入)_00勇士王子的博客-CSDN博客_pikachu 宽字节 (宽字节注入详解+实践)
10.如何识别网站是shiro框架?
首先看到网站登录有remenber me选项,然后通过burpsuite抓取登录成功的第二个包并发送,收到返回的有DeleteMe字段.(这里不太清楚了)
参考博客:
CVE-2016-4437(Apache Shiro反序列化漏洞复现Shiro550) - 胡阿斐 - 博客园 (cnblogs.com)
实在是太菜了,所以就只被问了这么多。
标签:数据库,博客,面试,全安,中科,csrf,服务器,cookie,注入 来源: https://www.cnblogs.com/hhhhhxian/p/16308968.html