# web-sec-interview **Repository Path**: wangbaosheng/web-sec-interview ## Basic Information - **Project Name**: web-sec-interview - **Description**: Information Security (Web Security/Penetration Testing Direction) Interview Questions/Solutions 信息安全(Web安全/渗透测试方向)面试题/解题思路 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # web-sec-interview 信息安全行业从业者(Web安全/渗透测试方向)面试题目1.1 ### README [English](README.md) | 中文 --- * 介绍一下自认为有趣的挖洞经历(或CTF经历) * 你平时用的比较多的漏洞是哪些?相关漏洞的原理?以及对应漏洞的修复方案? * 你平时使用哪些工具?以及对应工具的特点? * 如果遇到waf的情况下如何进行sql注入/上传Webshell怎么做?请写出曾经绕过WAF的经过(SQLi,XSS,上传漏洞选一) 参考以下三篇 * 我的WafBypass之道(SQL注入篇)
* 我的WafBypass之道(Upload篇)
* 我的WafBypass之道(Misc篇)
* 谈一谈Windows系统与Linux系统提权的思路? * 列举出您所知道的所有开源组件高危漏洞(十个以上) * 描述一个你深入研究过的 CVE 或 POC。 * SQLi * 如何判断sql注入,有哪些方法 > 添加单引号,双引号,order by, rlike,sleep,benchmark,运算符,修改数据类型,报错注入语句测试 * 介绍 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些? * 宽字符注入的原理?如何利用宽字符注入漏洞,payload如何构造及修复方案? > 通俗讲,gbk,big5等编码占了两个字节,sql语句进后端后对单引号等进行了转义,转义\为%5C,当前面的%xx与%5C能结合成两个字节的字符时候,就可以使后面的单引号逃逸,从而造成注入。比较常见的gbk,%df' => %df%5c%27 => 運' 。已经可以单引号了,剩下的就和普通注入差不多了。 > 修复方式通过设置MYSQL数据库字符集utf8mb4,PHP字符集utf-8。 * 你都了解哪些sql 的bypass技巧 > 这种太多了,网上一搜一大把。主要还是看目标站点的过滤和防护,常见bypass可以是/**/替换空格,/*!00000union*/ 等于union,或者利用前端过滤,添加尖括号<>。大小写什么的都太常见了,如果过滤了函数或者关键字,可以尝试其他能达到效果的同等函数,关键字比如or 1=1可以用||1替换,或者用运算符比如/,%达到相同的效果。总之,还是看要求。 * sqlmap如何对一个注入点注入? > 如果是get型,直接,sqlmap -u “注入点网址”. > > 如果是post型,可以sqlmap -u “注入点网址” –data=”post的参数” > > 如果是cookie型,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用*号替换,放到文件里,然后sqlmap -r “文件地址” * mysql的网站注入,5.0以上和5.0以下有什么区别? > 5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。 > 5.0以下是多用户单操作,5.0以上是多用户多操做。 * mysql注入点,用工具对目标站直接写入一句话,需要哪些条件? > root权限以及网站的绝对路径。 * 以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路? > demo.do?DATA=AjAxNg== * 发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选? * Domain * 解释一下同源策略 > 如果两个页面的协议,端口和域名相同,则可认为是同源。 * 同源策略,那些东西是同源可以获取到的 > 读取cookie, LocalStorage 和 IndexDB > 读取DOM元素 > 发送AJAX请求 > * 如果子域名和顶级域名不同源,在哪里可以设置叫他们同源 > 大概就是子域相同,主域不同的意思吧,可以通过在两房都设置document.domain来解决跨域。 * 如何设置可以跨域请求数据?jsonp是做什么的? > 主域相同时跨域,可以像上面那样设置document.domain. > > 主域不同时,可以通过jsonp,websocket,在服务端设置CORS进行跨域请求。H5新增window.postMessage方法解决跨域请求。 > > 通过