网安面经!42 道 Web 安全面试题全解析,从零基础到精通,收藏这篇就够了!

1. SQL注入:别再傻傻分不清,一文搞懂原理、种类和防御!

  • 原理:老司机都知道,SQL注入就是利用后端程序对前端输入的数据不设防,让恶意SQL代码混入其中,直接在数据库里“搞事情”。
  • 种类:花样贼多,字符型、数字型、布尔型、报错型、延时型、联合查询、堆叠注入,甚至还有宽字节、XFF注入,简直是“百花齐放”!
  • 防御:想防住SQL注入?预编译必须安排上!还有PDO、正则表达式过滤、开启魔术引号、WAF统统不能少。
  • 预编译原理:预编译就像给SQL查询加了个“防火墙”。第一次交互先发查询模板,让SQL引擎解析成AST或Opcode,第二次再把数据填进去。这样一来,无论你输入什么“妖魔鬼怪”,都只会被当成普通字符串处理,SQL注入?不存在的!

2. XSS:听说你还分不清存储型、反射型和DOM型?看完这篇秒懂!

  • 种类:XSS家族三大成员:存储型、反射型、DOM型。
  • 区别:存储型XSS,就像埋在数据库里的“地雷”,只要有人访问,就会boom!反射型XSS,藏在URL里,诱骗用户点击就中招。DOM型XSS更隐蔽,直接在浏览器DOM节点里搞事情。简单来说,存储型和反射型都要经过服务器“过一手”,而DOM型是纯前端操作。
  • 修复:对输入数据进行Html Encode编码,建立白名单,过滤JS事件标签,开启HttpOnly,再加个WAF,基本就稳了。

3. XSS、CSRF、SSRF:面试官最爱问的“三兄弟”,这次彻底搞定!

  • XSS(跨站脚本攻击):服务器对用户输入的数据不够“警惕”,导致恶意脚本在用户浏览器里执行,想想都可怕!
  • CSRF(跨站请求伪造):服务器没做好身份验证,让攻击者冒充用户发起恶意请求。比如,你可能在不知情的情况下,给骗子转了账!
  • SSRF(服务器请求伪造):服务器对用户提供的URL信任过度,导致攻击者利用服务器作为跳板,攻击内网或其他服务器。

4. XXE漏洞:听说XML很强大?小心被它“坑”了!

XXE漏洞,全称XML外部实体注入。当应用程序解析XML输入时,没有禁止外部实体的加载,攻击者就可以加载恶意外部文件,读取敏感信息、执行命令,甚至攻击内网!

5. PHP反序列化:听说过魔术方法吗?这可是漏洞利用的关键!

序列化,就是把对象变成字符串;反序列化,就是把字符串还原成对象。PHP反序列化分两种:无类和有类。无类利用比较简单,直接把序列化后的数据传进去就行。有类利用就要用到“魔术方法”了,比如__wakeup()__destruct(),利用这些方法在对象创建或销毁时执行恶意代码。

5.1 JAVA反序列化:面试必考!Shiro反序列化漏洞,你真的了解吗?

  • Java的ObjectOutputStreamObjectInputStream,分别负责序列化和反序列化。
  • Shiro反序列化漏洞,是因为Shiro的RememberMe功能使用了AES加密,而且密钥是硬编码的!如果开发者没改密钥,攻击者就可以构造恶意Cookie,触发反序列化漏洞,执行恶意代码。

6. 逻辑漏洞:登录框也能搞事情?这些思路你一定要知道!

  • 常见逻辑漏洞:越权访问、篡改响应包、修改支付金额、Cookie爆破、密码找回漏洞等等。
  • 登录页面思路:爆破、Session覆盖、SQL注入、XSS、任意用户注册、JS文件泄露敏感信息、短信轰炸、万能密码、二次注入、模板注入,各种姿势安排上!

7. CDN和DNS:别傻傻分不清!CDN绕过姿势,了解一下?

  • CDN(内容分发网络):让用户就近访问,提高速度,缓解拥堵。
  • DNS(域名系统):把域名翻译成IP地址。
  • CDN绕过思路:找子域名、扒内部邮件、用黑暗引擎搜索、国外Ping、查证书和DNS记录、APP抓包、利用配置不当泄露、扫全网IP段,甚至可以用DoS攻击“逼”出真实IP!

8. 中间件漏洞:这些常见漏洞,你必须背下来!

  • IIS:PUT漏洞、短文件名猜解、远程代码执行、解析漏洞。
  • Apache:解析漏洞、目录遍历。
  • Nginx:文件解析、目录遍历、CRLF注入、目录穿越。
  • Tomcat:远程代码执行、WAR后门文件部署。
  • JBoss:反序列化漏洞、WAR后门文件部署。
  • WebLogic:反序列化漏洞、SSRF任意文件上传、WAR后门文件部署。

9. WAF绕过:听说WAF很厉害?这些骚操作教你绕过!

从架构层面,可以尝试找到服务器真实IP,利用同网段绕过,或者利用HTTP和HTTPS同时开放服务的漏洞。从协议层面,可以尝试分块延时传输、利用Pipeline绕过、利用协议未覆盖绕过,或者用POST和GET混合提交。从规则层面,可以尝试编码绕过、等价符号替换、普通注释和内联注释、缓冲区溢出、MySQL黑魔法、白名单和静态资源绕过、文件格式绕过、参数污染等等。

10. 命令执行无回显:别慌!这些方法帮你“盲打”!

无回显?那就用延时判断、HTTP请求监听、DNSLog,或者写入当前目录,下载查看!

11. 3389端口连不上?可能的原因都在这了!

3389端口被关闭、端口被修改、防火墙拦截、处于内网环境、超过最大连接数、管理员设置了权限限制,都可能导致3389端口无法连接。

12. 常用端口:背熟这些端口号,面试不再怕!

21 (FTP)、22 (SSH)、23 (Telnet)、25 (SMTP)、53 (DNS)、80 (HTTP)、443 (HTTPS)、1433 (MSSQL)、3306 (MySQL)、3389 (RDP)、7001 (WebLogic)、8080 (Tomcat)。

13. 渗透测试流程:面试官想听的,都在这了!

  • 单一网站:先判断有没有CDN,有就找真实IP,没有就扫旁站和C段。然后识别CMS,查看中间件、插件、系统版本,再进行端口扫描、目录扫描,分析JS文件,寻找敏感信息,扩大资产范围,最后进行漏洞探测。
  • 网段或区域:用Goby批量扫描资产,批量打点,然后对薄弱点进行漏洞探测。

14. 逻辑漏洞:不只是“智商税”,更是安全隐患!

  • 逻辑漏洞,就是程序逻辑不严谨或太复杂导致的漏洞。
  • 比如支付漏洞(修改价格、修改支付状态)、登录漏洞(修改状态信息、跳过密码验证)、密码找回漏洞(暴力破解、跳过验证步骤)等等。修复方法:对关键业务流程进行严格的校验和权限控制。

15. 未授权访问:门没锁,谁都能进!

未授权访问,就是绕过了用户验证,直接访问了需要登录才能访问的页面。比如Redis未授权访问漏洞、JBoss未授权访问漏洞。

16. 打点:用什么姿势才能快速突破防线?

优先尝试Java反序列化漏洞,比如Shiro、Fastjson、WebLogic、用友OA等。因为Java Web程序通常以高权限运行,更容易getshell。

17. Shiro漏洞:如何快速发现和利用?

登录失败时,会返回rememberMe=deleteMe字段。或者用ShiroScan被动扫描。未登录时,请求包和返回包有特定表现;登录失败,返回包会有rememberMe=deleteMe字段;登录成功,根据是否勾选RememberMe,返回包和后续请求包的字段存在不同情况。

18. WebLogic权限绕过:听说可以“偷渡”?

通过静态资源绕过权限验证,防止被重定向到登录界面。通过请求.portal,控制处理的Servlet是渲染UI的MBeanUtilsInitSingleFileServlet。通过编码后的../,让最终渲染的模板是console.portal

19. Fastjson漏洞:原理很简单,利用却很骚!

在请求包里发送恶意的JSON格式Payload。Fastjson在处理JSON对象时,没有对@type字段进行过滤,导致攻击者可以传入恶意的TemplatesImpl类,该类的_bytecodes字段会在部分函数作用下生成Java实例,实现通过字段传入类并在类生成时执行构造函数。

20. 拿到Webshell不出网:如何突破限制,反败为胜?

可以尝试reg上传正向连接,或者探测出网协议,比如DNS、ICMP。

21. PHP代码执行与命令执行:高危函数,务必小心!

  • PHP代码执行的危险函数call_user_func()call_user_func_array()create_function()array_map()
  • PHP命令执行函数system()shell_exec()passthru()exec()popen()proc_open()putenv()

22. SQL注入无回显:DNSLog来帮忙,盲注也能拿数据!

无回显?那就编写脚本,进行自动化注入,注意调整请求频率,最好使用代理池。利用DNSLog注入,原理是把服务器返回的结果放在域名中,通过读取DNS解析日志获取信息。MySQL中利用load_file()构造Payload;MSSQL下利用master..xp_dirtree构造Payload。

23. phpMyAdmin写Shell:姿势要多,才能成功!

常规导入Shell、一句话导出Shell、日志备份获取Shell,总有一种姿势能成功!

24. 缓冲区溢出:计算机世界的“潘多拉魔盒”!

C/C++没有数组越界检查机制,当写入的数据超过缓冲区大小时,就会发生缓冲区溢出。攻击者可以利用缓冲区溢出来窜改进程运行时栈,改变程序正常流向,甚至窃取系统特权!

25. SSRF禁用127.0.0.1:照样绕过给你看!

可以利用进制转换、DNS解析、句号(127.0.0.1)、[::](http://[::]:80/)、@(http://[email protected])、短地址(http://dwz.cn/11SMa)等方式绕过。支持Dict://、SFTP://、TFTP://、LDAP://、Gopher://等协议。

26. Phar协议:听说可以绕过WAF?PHP伪协议,了解一下?

Phar协议可以Bypass一些WAF,绕过上传限制。Phar://伪协议读取Phar文件时会反序列化meta-data储存。区别在于不同的Content-Type下,php://input和$_POST获取数据的情况不同。

27. SSRF怎么用Redis写Shell?这波操作有点骚!

SSRF可对内网扫描、攻击内网应用、利用协议读取本地文件、在云计算环境调用内网操作ECS的API。WebLogic SSRF漏洞可通过Gopher协议操作内网的Redis,利用Redis将反弹Shell写入Crontab定时任务,进行URL编码,将 字符串替换成%0d%0a

28. SQLMap自带脚本:用好这些脚本,注入效率翻倍!

apostrophemask.py:将引号替换为UTF-8,用于过滤单引号。base64encode.py:替换为Base64编码。multiplespaces.py:围绕SQL关键字添加多个空格。space2plus.py:用+号替换为空格。

29. SVN/Git源代码泄露:程序员的“裸奔”!

在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。使用Git进行版本控制,如果配置不当,可能会将.git文件夹直接部署到线上环境,引起Git泄露漏洞。

30. 提权:拿下服务器的“尚方宝剑”!

将UDF文件放到指定位置(MySQL>5.1放在MySQL根目录的libplugin文件夹下);从UDF文件中引入自定义函数;执行自定义函数。

31. 近期漏洞:掌握最新动态,才能防患于未然!

介绍了Microsoft Exchange .Net反序列化远程代码执行(CVE-2020-0688)、Apache Tomcat 文件包含漏洞(CVE-2020-1938)等多个漏洞,包括漏洞所在组件、产生原因和危害等。

32. 解析漏洞:服务器的“阿喀琉斯之踵”!

介绍IIS、Nginx、Apache的解析漏洞,如IIS在特定目录下文件会被错误解析,Nginx存在文件路径解析问题,Apache按特定顺序解析文件后缀等。

33. MySQL只有一个80端口开放?真相只有一个!

更改了端口,没有扫描出来;站库分离;3306端口不对外开放。

34. Order by注入:不走寻常路,也能注入成功!

and/or/xor前面的(1=1)1=2步骤只是为了判断是否为注入点,如果已经确定是注入点,就可以省略这些步骤。

35. XSS持久控制:拿到Shell还不够,我要长期“潜伏”!

在后台登录处加一段记录登录账号密码的JS,并判断是否登录成功,若成功则记录账号密码;在登录后才可以访问的文件中插入XSS脚本。

36. 上传图片正常,上传脚本403?服务器在搞事情!

有可能Web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过。

37. Access数据库乱码?一招教你本地利用!

迅雷下载,直接改后缀为.mdb

38. 只能命令行执行Shell?这些工具帮你下载!

使用bitsadmin、powershell、certutil、WGET进行下载。

39. Shiro不出网:利用内存马,实现曲线救国!

定位Web目录写入文件构造回显;利用内存马,通过时间延迟获取Web路径写入Webshell。

40. 文件包含GetShell:思路决定出路!

参考链接:https://www.anquanke.com/post/id/248627

41. 文件上传绕过WAF:姿势对了,WAF也能“视而不见”!

参考链接:https://cloud.tencent.com/developer/article/1944142

42. XSS防护与HttpOnly绕过:道高一尺,魔高一丈!

  • 防护方法:输入过滤、纯前端渲染、转义HTML。
  • HttpOnly绕过方式:CVE-2012-0053、PHPINFO页面(若目标网站存在,可通过XMLHttpRequest请求获取Cookie信息)、iframe框架钓鱼、跳转钓鱼、历史密码(通过JS伪造登录表单获取)。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

猜你喜欢

转载自blog.csdn.net/Python_0011/article/details/146945461