第六周作业 1.SQL inject防范措施 2.sqlmap工具使用案例 3.XSS基本概念和原理 4.反射型XSS(get) 5.存储型XSS 6.安装nmap

1.SQL inject防范措施

常见的对应措施有以下几种:

  • 代码层面

1.对输入进行严格的转义和过滤

2.使用参数化(Parameterized)

  • 网络层面

1.通过WAF设备启用防SQL Inject注入策略(或类似防护系统)

2.云端防护(360网站卫士,阿里云盾等)

PHP防范推荐方法:PDO预处理——PDO预处理能防止SQL注入的原因
没有进行PDO预处理的SQL,在输入SQL语句进行执行的时候,web服务器自己拼凑SQL的时候有可能会把危险的SQL语句拼凑进去。但如果进行了PDO预处理的SQL,会让MYSQL自己进行拼凑,就算夹带了危险的SQL语句,也不会进行处理只会当成参数传进去,而不是以拼接进SQL语句传进去,从而防止了SQL注入。

2.sqlmap工具使用案例

在之前的课程重演中,因为手动注入过程繁琐,可以使用sqlmap这类工具来简化我们注入的繁琐程度,在pikachu平台下基于boolian的盲注的栏目中随意输入提交,找出输入点。复制连接,到sqlmap工具中进行注入点的测试。马上就能找到"name"这个点存在SQL注入漏洞,输入"n"结束查询还能看到查询出的详细信息。
在这里插入图片描述继续向下爆出当前使用的数据库名、数据库中的表、表中的列名、列中的账户和密码等。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
得到加密后的密码后,可以使用多种方法进行破解,这里使用sqlmap自带的工具进行破解。
在这里插入图片描述

3.XSS基本概念和原理

  • XSS攻击全称跨站脚本攻击,通常发生在web前端的漏洞,攻击者在发现了一个存在xss漏洞的站点后,根据不同的xss类型插入了恶意的脚本,从而在用户浏览网页时,都会执行带有恶意脚本的代码,从而达到控制用户浏览器的目的。

  • 常见的几种xss漏洞类型

  • 反射型XSS
    交互的数据一般不会被存在在数据库里面,只是简单的把用户输入的数据反射给浏览器,一次性,所见即所得。

  • 存储型XSS
    交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性。

  • DOM型XSS
    不与后台服务器产生数据交互,通过前端的dom节点形成的XSS漏洞。

  • XSS漏洞出现的原因:程序对输入和输出的控制不够严格,导致"精心构造“的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害.

  • 跨站脚本漏洞简单的测试流程
    (1)在目标站点上找到输入点,比如查询接口,留言板等;
    (2)输入一组"特殊字符+唯一识别字符",点击提交后,查看返回的源码,是否有做对应的处理;
    (3)通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);提交构造的脚本代码,看是否可以成功执行,如果成功执行则说明存在XSS漏洞;

4.反射型XSS(GET)

根据测试流程,为了找到输入点,先提交一组特殊字符+唯一识别字符,再去查看源代码

在这里插入图片描述
下图说明输入的字符被直接输入到了这个P标签中,这里就存在一个输出点,回到前端输入payload <script>alert('你打篮球像yangshuang')</script> 点击提交1

TIP
为了防止前端对输入进行限制,可以打开web控制到,更改输入限制
在这里插入图片描述

在这里插入图片描述
刷新一次后就不会进行弹窗,说这仅仅是一次性。

5.存储型XSS

同之前的思路,先输入一组特殊字符+唯一识别字符,查看源代码,能发现输出点和反射性XSS是相同的。

在这里插入图片描述输入payload <script>alert('奥里给!干那兄弟们!呕!')</script>,点击提交。
在这里插入图片描述
再刷新一次,还是会返回设置的payload中输入的内容,说明会将插入的内容会被存到数据库中,会造成持续性的攻击。再源代码里也能看到被插入进的payload。

在这里插入图片描述

6.安装nmap

到官网https://nmap.org/下载安装包安装即可。使用界面:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值