安全面试之WEB安全(四)

前言

作者简介:不知名白帽,网络安全学习者。

博客主页:https://blog.csdn.net/m0_63127854?type=blog

安全面试专栏:https://blog.csdn.net/m0_63127854/category_11869916.html

网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan

目录

31.任意文件下载漏洞的修复方案

32.知道哪些XSS攻击案例简单说一下

33.CSRF攻击和XSS攻击有什么区别

34.以下链接存在sql注入漏洞,对于这个变形注入,你有什么思路

35.发现demo. jsp? uid=110注入点,你有哪几种思路获取webshell,哪种是优选

36.说出至少三种业务逻辑漏洞,以及修复方式

37.sqlmap怎么对一个注入点注入

38.延时注入如何来判断

39.owasp漏洞都有哪些

40.SQL里面只有update怎么利用


31.任意文件下载漏洞的修复方案

1)过滤用户数据,如“/”,“*”,“.”等特殊字符
2)更新中间件
3)要下载的文件地址保存至数据库中
4)文件路径保存至数据库,让用户提交文件对应ID或session下载文件
5)用户下载文件之前需要进行权限判断
6)文件放在web无法直接访问的目录下
7)不允许提供目录遍历服务
8)公开文件可放置在web应用程序下载目录中通过链接进行下载

32.知道哪些XSS攻击案例简单说一下

2005年,年仅19岁的Samy Kamkar发起了对 MySpace.com 的XSS Worm攻击。Samy Kamkar的蠕虫在短短几小时内就感染了100万用户——它在每个用户的自我简介后边加了一句话:“but most of all, Samy is my hero.”(Samy是我的偶像)。这是Web安全史上第一个重量级的XSS Worm,具有里程碑意义。
2007年12月,百度空间收到蠕虫攻击,用户之间开始转发垃圾短消息。
QQ邮箱m.  exmail.qq.com 域名被发现反射型XSS漏洞。
2011年新浪微博曾被黑客XSS攻击,黑客诱导用户点击一个带有诱惑性的链接,便会自动发送一条带有同样诱惑性链接微博。攻击范围层层扩大,也是一种蠕虫攻击。

33.CSRF攻击和XSS攻击有什么区别

CSRF攻击不需要将恶意代码注入用户的页面,仅仅是利用服务器的漏洞和用户的登录状态来实施攻击。
CSRF攻击成本也比XSS低,用户每天都要访问大量网页,无法确认每一个网页的合法性,从用户角度来说,无法彻底防止CSRF攻击。

34.以下链接存在sql注入漏洞,对于这个变形注入,你有什么思路

demo. do?DATA=AjA×Ng==
DATA有可能经过了base64编码再传入服务器,所以我们也要对参数进行base64编码才能正确完成测试。

35.发现demo. jsp? uid=110注入点,你有哪几种思路获取webshell,哪种是优选

有写入权限的,构造联合查询语句使用using INTOOUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入WebShell使用sqlmap-os-shell原理和上面一种相同,来直接获得一个Shell,这样效率更高。
通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传Shell。

36.说出至少三种业务逻辑漏洞,以及修复方式

密码找回漏洞中存在:
1)密码允许暴力破解
2)存在通用型找回凭证
3)可以跳过验证步骤
4)找回凭证可以拦包获取
等方式来通过厂商提供的密码找回功能来得到密码。
身份认证漏洞中最常见的是:
5)会话固定攻击
6) Cookie仿冒
只要得到Session或Cookie即可伪造用户身份。
验证码漏洞中存在:
7)验证码允许暴力破解
8)验证码可以通过Javascript或者改包的方法来进行绕过

37.sqlmap怎么对一个注入点注入

1)如果是get型号,直接, sqlmap-u“注入点网址"
2)如果是post型注入点,可以sqlmap-u“注入点网址"
−data=“post
的参数"
3)如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包, 注入处用号替换,放到文件里,然后sqlmap-r“文件地址"

38.延时注入如何来判断

if(ascii(substr("hello",1,1))=104, sleep(5),1)

39.owasp漏洞都有哪些

1)SQL注入防护方法
2)失效的身份认证和会话管理
3)跨站脚本攻击XSS
4)直接引用不安全的对象
5)安全配置错误
6)敏感信息泄露
7)缺少功能级的访问控制
8)跨站请求伪造CSRF
9)使用含有已知漏洞的组件
10)未验证的重定向和转发

40.SQL里面只有update怎么利用

先理解这句SQL:UPDATE user SET password='MD5($password)',
homepage='$homepage'WHERE id='$id'
如果此SQL被修改成以下形式,就实现了注入。
1)修改homepage值为 http://xxx.net',userlevel='3
之后SQL语句变为:UPDATE user SET password='mypass',
homepage=' http://xxx.net',userlevel='3'WHEREid='$id'
userlevel为用户级别
2)修改password值为mypass)'WHERE username='admin'#
之后SQL语句变为:UPDATE user SET password='MD5(mypass)'WHERE
username='admin'#)', homepage='$homepage'WHERE id='$id'
3)修改id值为'OR username='admin'
之后SQL语句变为:UPDATE user SET password='MD5($password)',
homepage='$homepage'WHERE id="OR username='admin'

猜你喜欢

转载自blog.csdn.net/m0_63127854/article/details/127565601