360面试笔试10题
1、如果存在 SQL 注入怎么判断不同的数据库。
注释符判断
/*是 MySQL 中的注释符,返回错误说明该注入点不是 MySQL,
继续提交如下查询字符:
–是 Oracle 和 MSSQL 支持的注释符,如果返回正常,则说明为这两种数据库类型之一。
继续提交如下查询字符:
;是子句查询标识符,Oracle 不支持多行查询,因此如果返回错误,则说明很可能是 Oracle 数据库。
函数判断
and (select count(*)from MSysAccessObjects)>0 access 数据库
and (select count(*)from sysobjects)>0 返回正常说明是 mssql 数据库
and length(user())>10 返回正常说明是 Mysql
Oracle 可以根据 from dual 虚拟库判断
2、简述下浏览器的自解码机制。
HTML 解码->URL 解码(目前只发现 a 标签的 href 属性会进行该解码)->JS 解码
3、拿到目标站怎么进行渗透,需要注意什么。
收集信息:whois、网站源 IP、旁站、C 段网站、服务器系统版本、容器版本、 程序版本、数据库类型、二级域名、防火墙、维护者信息另说… 然后对应端口和漏洞进行攻击。 注意尽量不要使用工具,不影响正常业务。
4、CSRF 漏洞的原理是什么?怎么修复?
原理:利用网站对用户标识的信任,欺骗用户的浏览器发送 HTTP 请求给目标站。
防御的三种策略:
(1)验证 HTTP referer 字段
(2)请求地址中添加 token 并验证 token 作用:服务器端会对 Token 值进行验证,判断是否和 session 中的 Token 值相等
(3)在 http 头中自定义属性并验证
5、代码审计怎么做?
根据敏感函数,逆向追踪参数传递的过程
比如 seay 源代码审计系统,利用正则匹配一些高危函数、关键函数以及敏感关键字,分析 判断敏感函数的上下文,追踪参数源头,尝试控制可控的参数变量。
6、哪些漏洞是 WAF 不能防御的?请举出至少三类漏洞。
逻辑漏洞,CSRF,SSRF
7、考虑以下场景:一个多用户的博客系统(类似于 CSDN),普通用户登陆到个人中心后, 发现删除自己某篇文章所请求的 URI 为 delete.php?article_id=24,请考虑这个地方最有可能 出现哪些安全问题?
(1)id=24,利用 24-1 检查页面变化,' " ') ')) ") "))字符闭合进行测试,可能存在注入
(2)通过修改24这个参数,可能会实现任意文章删除
8、PHP5 环境下,如果配置文件中 magic_quotes_gpc 为 On,则 PHP 会对请求参数中的哪些 字符进行自动转义?
该参数为魔术引号,对' " \及 NULL 进行转义
9、使用 sqlmap 工具进行 sql 注入漏洞利用时,可以尝试使用()选项获取一个操作系统 shell。
sqlmap --os-shell
原理为通过outfile和dumpfile功能,向网站目录写入php代码,执行系统命令
10、渗透时后端环境是 apache+php+mysql 的情况下,利用 sql 注入写 webshell 一般来说需 要满足三个条件:1.mysql 用户需要有()权限;2.需要知道()路径;3.()(符号)不能 被过滤。
条件:mysql 用户需要有写权限,需要知道网站根目录的绝对路径,< > ' " 不能被过滤
相关文章
- JavaScript+css实现的计时器动画素材html页面前端源码
- 从零开始:用Canvas绘制你的第一个动画小作品
- 平滑升级!一文掌握CSS过渡与动画属性,让你的网页动起来!
- 现代CSS:纯 CSS 实现路径动画(实现路径动画常用的方法有)
- 资源分享:异常强大的预设css3动画库Animate
- 你的名字动漫高清动态壁纸(你的名字动态高清壁纸 手机壁纸)
- Dynamics.js – 创建逼真的物理动画的 JS 库
- 一个非常棒的 JS 动画引擎库(javascript动画库)
- 一款 Js 动画库,简单几行代码就能写出丝滑流畅、高性能的动画效果
- 25个不用flash也可以做出很酷动画效果的网页设计案例赏析