注:本系列面试题有一部分是根据回忆总结的,可能描述的有些问题。安全的体系很大,这些只是冰山一角而已,希望能对大家有帮助。
人人都有一个进大厂的梦想,而进大厂的门槛也可想而知。
不仅需要扎实的技术功底,更需要面试环节不掉链子!
因此背面试八股文对大部分求职者来说都是一个不得不做的事情。
而对于正在准备安全岗求职或实习的同学们来说,Web安全面试题几乎是必问项。
尤其是一些经常出现的考点,比如SQL注入、XSS、CSRF、反序列化、逻辑漏洞、WAF 绕过等等,不仅需要你知道“是什么”,还得能“讲清楚原理、分类、修复和利用”。
今天我就给大家整理87道高频Web安全面试题,每一题我都尽量用通俗的语言讲清楚原理+防御+面试应答要点,建议收藏+反复刷,你一定会用得上!

1、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。
CSRF是跨站请求伪造攻击 ,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入 Token 、再次输入密码、检验Referer。
XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。
2、CSRF、SSRF和重放攻击有什么区别?
CSRF是跨站请求伪造攻击,由客户端发起 SSRF是服务器端请求伪造,由服务器发起 重放攻击是将截获的数据包进行重放,达到身份认证等目的
3、说出至少三种业务逻辑漏洞,以及修复方式?
密码找回漏洞 中存在
1)密码允许暴力破解、
2)存在通用型找回凭证、
3)可以跳过验证步骤、
4)找回凭证可以拦包获取
等方式来通过厂商提供的密码找回功能来得到密码。
身份认证漏洞 中最常见的是
1)会话固定攻击
2) Cookie 仿冒
只要得到 Session 或 Cookie 即可伪造用户身份。
验证码漏洞 中存在
1)验证码允许暴力破解
2)验证码可以通过 Javascript 或者改包的方法来进行绕过
4、XXE漏洞了解吗?
XXE漏洞即xml外部实体注入漏洞,发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口、攻击内网网站、发起dos攻击等危害。
5、PHP 反序列化有了解吗?
序列化就是将一个对象转换成字符串, 反序列化 则反之,将字符串重新转化为对象。此外,PHP反序列化又可以简单分成两种,一种无类,一种有类,无类利用就略微简单,如果源码会将输入的值进行反序列化,那我们就需要提前将数据序列化后再传入。而想要利用有类就要用到魔术方法。
5.1 JAVA反序列化了解吗?有没有了解过shrio反序列化?(最常问,无论hvv还是工作面试)
Java中的ObjectOutputStream类的writeObject()方法可以实现序列化,把对象转换成字节流,便于保存或者传输,而ObjectInputStream类的readObject()方法用于反序列化,把字节流还原成对象。
shiro反序列化主要是Apache shiro提供了一个remember的功能,用户登录成功后会生成经过加密并编码的cookie,保存在浏览器中方便用户日常使用。服务器对cookie的处理流程存在漏洞,AES硬编码有默认密钥,若程序员未修改或设置过于简单,攻击者可进行cookie重构,构造恶意代码并序列化、加密、编码,服务器处理时会触发恶意代码。
6、逻辑漏洞遇到过哪些,给你登录框有没有什么思路?
7、CDN和DNS区别?CDN绕过思路?
CDN:内容分发网络,主要作用就是让用户就近访问网络资源,提高响应速度,降低网络拥堵。
DNS:域名服务器,主要作用就是将域名翻译成ip地址。
CDN绕过思路 :子域名,内部邮件,黑暗引擎搜索,国外ping,证书及DNS查询,app抓包,配置不当泄露,扫全网,DOS攻击等。
8、常见的中间件漏洞知道哪些?
IIS :PUT漏洞、短文件名猜解、远程代码执行、解析漏洞等。
Apache:解析漏洞、目录遍历等。
Nginx :文件解析、目录遍历、CRLF注入、目录穿越等。
Tomcat:远程代码执行、war后门文件部署等。
JBoss:反序列化漏洞、war后门文件部署等。
WebLogic :反序列化漏洞、SSRF任意文件上传、war后门文件部署等。
9、WAF绕过的手法你知道哪些?
从架构层面:找到 服务器 真实IP,同网段绕过, http 和https同时开放服务绕过,边缘资产漏洞利用绕过;从协议层面:分块延时传输,利用pipline绕过,利用协议未覆盖绕过,POST及GET提交绕过;从规则层面:编码绕过,等价符号替换绕过,普通注释和内敛注释,缓冲区溢出,mysql黑魔法,白名单及静态资源绕过,文件格式绕过,参数污染。
10、命令无回显如何解决?
无回显可采用延时判断,http请求监听,DNSlog利用,写入当前目录下载查看等等。
11、3389端口无法连接的几种情况?
3389关闭状态;端口修改;防火墙连接;处于内网环境;超过了服务器最大连接数;管理员设置权限,指定用户登录。
12、常问的端口信息?
21:FTP文件传输协议;
22:SSH远程连接;
23:TELNET远程登录;
25:SMTP邮件服务;
53:DNS域名系统;
80:HTTP超文本传输协议;
443:HTTPS安全超文本传输协议;
1433:MSSQL;
3306: MYSQL ;
3389:windows远程桌面服务端口;
7701:weblogic;
8080:TCP,HTTP协议代理服务器, Apache-tomcat默认端口号。
13、渗透测试的流程?(主要看自己)
14、什么是逻辑漏洞?说出至少三种业务逻辑漏洞,以及修复方式?
15、未授权访问你可以简单说说吗?
未授权访问指对某些页面的验证不严格导致绕过了用户验证的环节,使其可以直接访问到某些登录后才能访问到的页面。如Redis未授权访问漏洞,未开启认证可直接连接数据库;JBOSS未授权访问漏洞,访问特定路径可浏览部署管理信息面板且能直接部署上传木马。
16、打点一般会用什么漏洞?
优先以java反序列化这些漏洞像shiro,fastjson,weblogic,用友oa等等进行打点,随后再找其他脆弱性易打进去的点。因为javaweb程序运行都是以高权限有限运行,部分可能会降权。
17、平常怎么去发现shiro漏洞的?
登陆失败时候会返回rememberMe=deleteMe字段或者使用shiroScan被动扫描去发现。未登陆时,请求包和返回包相关字段有特定表现;登陆失败,返回包会有rememberMe=deleteMe字段;登陆成功,根据是否勾选RememberMe字段,返回包和后续请求包的字段存在不同情况。
18、weblogic权限绕过?
通过静态资源来绕过权限验证,防止被重定向到登陆界面。通过请求.portal,控制处理的Servlet是渲染UI的MBeanUtilsInitSingleFileServlet 。通过编码后的../ ,让最终渲染的模版是console.portal。
19、fastjson漏洞利用原理?
在请求包里面发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,从而导致攻击者可以传入恶意的TemplatesImpl类,该类的_bytecodes字段会在部分函数作用下生成java实例,实现通过字段传入类并在类生成时执行构造函数。
20、拿到webshell不出网情况下怎么办?
reg上传去正向连接;探测出网协议,如dns,icmp。
21、PHP代码执行的危险函数?PHP命令执行函数?
22、Sql注入无回显的情况下,利用DNSlog,mysql下利用什么构造代码?mssql下又如何?
没有回显的情况下,一般编写 脚本 ,进行自动化注入,同时注意调整请求频率,有条件使用代理池。利用DNSlog注入,原理是把服务器返回的结果放在域名中,读取DNS解析日志获取信息。mysql中利用load_file()构造payload;mssql下利用master..xp_dirtree构造payload。
23、phpmyadmin写sehll的方法?
常规导入 shell 的操作;一句话导出shell;日志备份获取shell。
24、缓冲区溢出原理?
由于C/C++语言没有数组越界检查机制,当向局部数组缓冲区里写入的数据超过为其分配的大小时,就会发生缓冲区溢出。攻击者可利用缓冲区溢出来窜改进程运行时栈,改变程序正常流向,轻则导致程序崩溃,重则系统特权被窃取。
25、SSRF禁用127.0.0.1后如何绕过,支持哪些协议?
可利用进制转换、DNS解析、句号(127.0.0.1)、[::](http://[::]:80/)、@(http://example.com@127.0.0.1)、短地址(http://dwz.cn/11SMa)等方式绕过;支持Dict://、SFTP://、TFTP://、LDAP://、Gopher://等协议。
26、phar协议如何利用,php伪协议input与post数据包发送有什么区别?
phar协议可Bypass一些waf,绕过上传限制,Phar://伪协议读取phar文件时会反序列化meta-data储存。区别在于不同的Content-Type下,php://input和$_POST获取数据的情况不同 。
27、ssrf怎么用redis写shell?
SSRF可对内网扫描、攻击内网应用、利用协议读取本地文件、在云计算环境调用内网操作ECS的API。webligic SSRF漏洞可通过gopher协议操作内网的redis,利用redis将反弹shell写入crontab定时任务,进行url编码,将\r字符串替换成%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提取原理是什么?
将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下);从udf文件中引入自定义函数(user defined function);执行自定义函数。
31、讲讲有代表性的漏洞?
介绍了Microsoft Exchange .Net反序列化远程代码执行(CVE-2020-0688)、Apache Tomcat 文件包含漏洞(CVE-2020-1938)等多个漏洞,包括漏洞所在组件、产生原因和危害等。
32、了解过解析漏洞,分别有哪些?
介绍IIS、nginx、apache的解析漏洞,如IIS在特定目录下文件会被错误解析,nginx存在文件路径解析问题,apache按特定顺序解析文件后缀等。
33、为何一个mysql数据库的站,只有一个80端口开放?
更改了端口,没有扫描出来;站库分离;3306端口不对外开放。
34、注入时可以不使用and或or或xor,直接order by开始注入吗?
and/or/xor前面的(1=1)、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤。
35、在有shell的情况下,如何使用xss实现对目标站的长久控制?
在后台登录处加一段记录登录账号密码的js,并判断是否登录成功,若成功则记录账号密码;在登录后才可以访问的文件中插入XSS脚本。
36、目标站无防护,上传图片可以正常访问,上传脚本格式访问则403,什么原因?
有可能web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过。
37、access扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用?
迅雷下载,直接改后缀为.mdb。
38、对于不能直接上传而且只能通过命令行执行的shell,应该怎么办?
使用bitsadmin、powershell、certutil、WGET进行下载。
39、shiro不出网怎么利用?
定位Web目录写入文件构造回显;利用内存马,通过时间延迟获取Web路径写入webshell。
40、文件包含Getshell思路?
参考链接:https://www.anquanke.com/post/id/248627
41、文件上传绕过WAF思路?
参考链接:https://cloud.tencent.com/developer/article/1944142
42、xss的防护方法有哪些呢?httponly绕过?
43、对于XSS怎么修补建议
输入点检查:对用户输入的数据进行合法性检查,使用filter过滤敏感字符或对进行编码转义,针对特定类型数据进行格式检查。针对输入点的检查最好放在服务器端实现。
输出点检查:对变量输出到HTML页面中时,对输出内容进行编码转义,输出在HTML中时,对其进行HTMLEncode,如果输出在Javascript脚本中时,对其进行JavascriptEncode。对使用JavascriptEncode的变量都放在引号中并转义危险字符,data部分就无法逃逸出引号外成为code的一部分。还可以使用更加严格的方法,对所有数字字母之外的字符都使用十六进制编码。此外,要注意在浏览器中,HTML的解析会优先于Javascript的解析,编码的方式也需要考虑清楚。
除此之外,还有做HTTPOnly对Cookie劫持做限制。
44、CSRF的防御
验证Referer、添加toker
45、token和referer做横向对比,谁安全等级高
oken安全等级更高,因为并不是任何服务器都可以取得referer如果从HTTP跳到HTTP,也不会发送referer。并且FLASH —些版本中可以自定义referer。但是token的话,要保证其足够随机且不可泄露。
46、对referer的验证.从什么鱼度去做?如果做,怎么杜绝问题
对header中的referer的验证,一个是空referer,一个是referer过滤或者检测不完善。为了杜绝这种问题,在验证的白名单中,正则规则应当写完善。
47、针对token攻击,你会对token的哪方面进行测试
针对token的攻击,一是对它本身的攻击,重放测试一次性、分析加密规则、校验万式是否正确等,二是结合信息泄露漏洞对它的获取,结合着发起组合攻击信息泄露有可能是缓存、日志、cet也有可能是利用跨站。很多跳转登录的都依赖token,有一个跳转漏洞加反射型跨站就可以组合成登录劫持了。
另外也可以结合着其它业务来描述token的安全性及设计不好怎么被绕过比如抢红包业务之类的。
48、简述PHP代码注入和命令注入的成因和危害
PHP中eval、assert、call_user_func等函数会将字符串当作PHP代码执行,且没有对参数进行过滤。应用在调用system等函数时会将字符串拼接到命令行中,且没有过滤用户输入。
PHP注入会使攻击者执行任意代码getsell从而控制网站或服务器。系统注入会使攻击者继承web服务器程序权限执行系统命令、读写文件、反弹shel从而控制整个网站甚至服务器。
49、目前已知哪些版本的容器有解析漏洞,具体举例。
IIS 6.0 /xx.asp/xx.jpg "xx.asp"是文件夹名;
IIS 7.0/7.5 默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析;
Nginx 版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。 空字节代码 xxx.jpg.php;
Apache 上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀;
lighttpd xx.jpg/xx.php,不全,请小伙伴们在评论处不吝补充,谢谢!
50、代码执行,文件读取,命令执行的函数都有哪些?
1)代码执行:
eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function
2)文件读取:
file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等
3)命令执行:
system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()
51、拿到一个待检测的站,你觉得应该先做什么?
a、信息收集1、获取域名的whois信息,获取注册者邮箱姓名电话等,丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。用邮箱做关键词进行丢进搜索引擎。利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。社工找出社交账号,里面或许会找出管理员设置密码的习惯 。利用已有信息生成专用字典。 2、查询 服务器 旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的 cms或者其他漏洞。 3、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS, APACHE,NGINX的解析漏洞 4、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。 5、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如 php 探针 6、google hack 进一步探测网站的信息,后台,敏感文件
b、漏洞扫描开始检测漏洞,如XSS,XSRF, sql注入 ,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
c、漏洞利用利用以上的方式拿到 webshell ,或者其他权限
d、权限提升提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linux 脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
e、日志清理
f、总结报告及修复方案
52、判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
53、一个成熟并且相对安全的CMS,渗透时扫目录的意义?
敏感文件、二级目录扫描
站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点
54、常见的网站服务器容器。
IIS、Apache、nginx、Lighttpd、Tomcat
55、mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
root权限以及网站的绝对路径。
56、如何拿一个网站的webshell?
上传,后台编辑模板,sql注入写文件,命令执行,代码执行, 一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等
57、如何手工快速判断目标站是windows还是linux服务器?
linux大小写敏感,windows大小写不敏感。
58、为何一个mysql数据库的站,只有一个80端口开放?
更改了端口,没有扫描出来。
站库分离。
3306端口不对外开放
59、3389无法连接的几种情况
没开放3389 端口 端口被修改 防护拦截 处于内网(需进行端口转发)
60、如何突破注入时字符被转义?
宽字符注入 hex编码绕过
61、在某后台新闻编辑界面看到编辑器,应该先做什么?
查看编辑器的名称版本,然后搜索公开的漏洞。
62、拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么?
能做的事情很多,用隐藏网马来举例子: 插入 <FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php.jpg 文件会被解析成.php文件。
具体其他的事情,不好详说,建议大家自己去搜索语句来玩玩。
63、注入漏洞只能查账号密码?
只要权限广,拖库脱到老。
64、安全狗会追踪变量,从而发现出是一句话木马吗?
是根据特征码,所以很好绕过了,只要思路宽,绕狗绕到欢,但这应该不会是一成不变的。
65、access 扫出后缀为asp的数据库文件,访问乱码,**如何实现到本地利用?
迅雷下载,直接改后缀为.mdb。
66、提权时选择可读写目录,为何尽量不用带空格的目录?
因为exp执行多半需要空格界定参数
67、某服务器有站点A,B 为何在A的后台添加test用户,访问B的后台。发现也添加上了test用户?
同数据库。
68、注入时可以不使用and 或or 或xor,直接order by 开始注入吗?
and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。
69、某个防注入系统,在注入时会提示:
系统检测到你有非法注入的行为。 已记录您的ip xx.xx.xx.xx 时间:2016:01-23 提交页面:test.asp?id=15 提交内容:and 1=1
70、如何利用这个防注入系统拿shell?
在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。
71、上传大马后访问乱码时,有哪些解决办法?
浏览器中改编码。
72、审查上传点的元素有什么意义?
有些站点的上传文件类型的限制是在前端实现的,这时只要增加上传类型就能突破限制了。
73、目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
先爆破用户名,再利用被爆破出来的用户名爆破密码。 其实有些站点,在登陆处也会这样提示 所有和数据库有交互的地方都有可能有注入。
74、目标站发现某txt的下载地址为http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什么思路?
这就是传说中的下载漏洞!在file=后面尝试输入index.php下载他的首页文件,然后在首页文件里继续查找其他网站的配置文件,可以找出网站的数据库密码和数据库的地址。
75、甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录。请问你的想法是?
直接在网站二级目录/abc/下扫描敏感文件及目录。
76、在有shell的情况下,如何使用xss实现对目标站的长久控制?
后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)。
在登录后才可以访问的文件中插入XSS 脚本 。
77、后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?
审查元素 把密码处的password属性改成text就明文显示了
78、目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因?
原因很多,有可能web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过
79、审查元素得知网站所使用的防护软件,你觉得怎样做到的?
在敏感操作被拦截,通过界面信息无法具体判断是什么防护的时候,F12看HTML体部 比如护卫神就可以在名称那看到内容。
80、在win2003服务器中建立一个 .zhongzi文件夹用意何为?
隐藏文件夹,为了不让管理员发现你传上去的工具。
81、sql注入有以下两个测试选项,选一个并且阐述不选另一个的理由:
A. demo.jsp?id=2+1 B. demo.jsp?id=2-1 选B,在 URL 编码中 + 代表空格,可能会造成混淆
82、以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路?
demo.do?DATA=AjAxNg== DATA有可能经过了 base64 编码再传入服务器,所以我们也要对参数进行 base64 编码才能正确完成测试
83、发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?
有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell
84、SQL注入原理的种类?防御呢?预编译原理?
原理 :在数据交互中,前端的数据传入到后台处理时,由于后端没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。
种类 :字符,数字,布尔,报错,延迟,联合,堆叠,宽字节,XFF等。
修复 :使用预编译,PDO,正则表达式过滤,开启魔术引号,加装WAF等。
预编译原理 :预编译将一次查询通过两次交互完成,第一次交互发送查询语句的模板,由后端的SQL引擎进行解析为AST或Opcode,第二次交互发送数据,代入AST或Opcode中执行,无论后续向模板传入什么参数,这些参数仅仅被当成字符串进行查询处理,因此杜绝了sql注入的产生。
85、XSS的种类有哪些?区别?修复呢?
种类 :存储型,反射型,DOM型。
区别 :存储型常出现在信息修改添加等地方,导致恶意代码被存储在数据库中,每当被攻击者访问到后就会触发执行;反射型常出现在url中,一般需要攻击者提前构造好恶意链接,欺骗用户点击,触发攻击代码;DOM型攻击代码在url中,然后输出在了浏览器的DOM节点中。简单比较会发现,存储和反射都经过服务器,而DOM是纯前端。
修复 :对输入数据进行Html Encode处理,白名单过滤,过滤JavaScript事件的标签,开启http-only,装WAF等。
86、XSS、CSRF和SSRF区别?(很常问)
XSS:跨站脚本攻击。是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。
CSRF:跨站请求伪造脚本攻击。是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF:服务器请求伪造攻击。是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者可以以此为跳板攻击内网或其他服务器。
87、圈出下面会话中可能存在问题的项, 并标注可能会存在的问题?
有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell。
作为一个网络安全初学者,大家在学习过程中难免会遇到各种各样的问题,比如:
即将参加CTF比赛,不知道如何在比赛中取得好成绩;
校招面试就要开始了,不知道如何拿到满意的offer;
想挖企业SRC赚钱,但一直挖不到该怎么办;
想参加护网赚钱,但苦于没有学习方向和面试机会;
想转行从事网络安全的工作,不知道需要掌握哪些技术点;
如果你也有上面这些问题,那一定一定不能错过我整理的这套网络安全零基础资源包,资源包里的内容包含:
网络安全/信息安全零基础学习路线图
150节网络安全攻防技术视频教程
200+网络安全/信息安全pdf书籍
30+护网红蓝对抗技术文档
100+CTF夺旗赛必备工具包
历年CTF夺旗赛真题解析
50份安全攻防面试真题及答案
20份安全工程师简历模版
最最最重要的是,我整理的这套网络安全/信息安全零基础资源包,粉丝都可以直接抱走。全套网络安全/信息安全学习资源包
关注我后回复关键词【领资料】,即可抱走!
关注我后回复关键词【领资料】,即可抱走!
关注我后回复关键词【领资料】,即可抱走!
方向不对,努力白费!对于刚接触网络安全的同学,我帮大家准备了详细的零基础学习路线图。
经过几千位同学的反馈,这套路线图可以说是最科学、最系统的学习路线,大家跟着这个大的方向学习准没问题。

考虑到很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,内容从计算机网络、HTML、MySQL数据库等基础知识点开始讲解,内容由浅入深、循序渐进,确保每一位同学都听得懂、学得会、用得上。

除了看视频学习,我们也能通过书籍文档快速上手掌握某个具体的技术,这也是我现在学习新知识最常用的方式。

受限于篇幅的原因,剩下的内容就不在这里一一展示了,大家如果需要的话,可以扫描下方二维码领取!(不收费、不收费、不收费)
全套网络安全/信息安全学习资源包
关注我后回复关键词【领资料】,即可抱走!
关注我后回复关键词【领资料】,即可抱走!
关注我后回复关键词【领资料】,即可抱走!
重要的事情说三遍!