当前位置:   article > 正文

10道渗透测试面试题(附答案)、知识点 03_渗透测试面试真题

渗透测试面试真题

1、什么是sql注入:

sql注入是一种利用程序中的漏洞,通过恶意构造的sql语句来实现攻击的方法。在web应用程序中,输入表单的数据往往会被传递到服务器,服务器再通过sql语句对数据库进行操作。如果应用程序对用户输入的数据没有进行充分的验证和过滤,攻击者就可以在输入框中输入恶意代码,从而实现sql注入攻击。

简单来说:前后端进行数据交互,在前端往后端传数据的时候,携带恶意的sql语句,如果后端没有充分的验证和过滤的话,就会执行那些恶意的sql语句,从而造成sql注入攻击

2、sql注入的几种类型:

1.报错注入

2.bool注入

3.延时注入

4.宽字节注入

3、什么是二次注入:

假如有一个网站管理员的用户名为:root 密码为:123456789 ,攻击者注册了一个账号 : root'-- 密码为:123因为账号当中有特殊字符,网站对于特殊字符进行了转义,一次注入在这就行不通了。虽然账号被转义了,但是他在数据库当中任然是以 root'-- 的方式被储存的。现在攻击者开始实施正真的攻击了,他开始对账号修改密码。普通网站修改密码的过程为:先判断用户是否存在------》确认用户以前的密码是否正确--------》获取要修改的密码---------》修改密码成功。 在数据库中 -- 表示注释的意思,后面的语句不会执行,而root后面的那个单引号又与前面的 ' 闭合,而原本后面的那个单引号因为是在 -- 之后,所以就被注释掉了,所以他修改的其实是 root 的密码。

4、如何拿到网站的webshell:

1.文件上传

2.后台编辑模板

3.sql注入写文件

4.命令执行

5.代码执行

6.一些已经爆出来的cms漏洞

5、owasp漏洞有哪些:

  1. sql注入

  2. 失效的身份认证和会话管理

  3. 跨站脚本攻击XSS

  4. 直接引用不安全的对象

  5. 安全配置错误

  6. 敏感信息泄露

  7. 缺少功能及的访问控制

  8. 跨站请求伪造 CSRF

  9. 使用含有已知漏洞的组件

  10. 未验证的重定向和转发

6、sql注入防护方法:

1.对输入的字符进行转义处理

2.对客户端输入进行控制,不允许输入sql注入相关的特殊字符

3.服务端在提交数据库进行sql查询前,对特殊字符进行过滤,转义,替换,删除。

7、如何绕waf:

  • 大小写转换法

  • 干扰字符

  • / * ! * /

  • base64编码

  • unicode

  • hex

  • url

  • ascll

  • 复参数

8、为什么参数化查询可以防止sql注入:

原理:

        使用参数化查询数据库服务器不会把参数的内容仿作sql指令的一部分来执行,是在数据库完成sql执行编译后才套用参数运行。

简单来说:参数化能防止注入的原因在于,语句是语句,参数是参数,参数的值并不一定是语句的一部分,数据库只按语句的语义跑。

9、代替空格的方法:

%0a、%0b、%a0等 /**/ 等 注释符<>

10、mysql网站注入,5.0以上和5.0一下有什么区别:

5.0以下没有information_schema 这个系统表,无法列表名等,只能暴力跑表名。

5.0以下是多用户单操作,5.0以上是多用户多操作

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/621736
推荐阅读
相关标签
  

闽ICP备14008679号