日报 08/08

这篇博客整理了CSRF、XSS漏洞的原理、防御措施,以及文件上传保护策略。同时介绍了Flash跨域访问漏洞、nmap脚本使用、Burpsuite问题解决和SQL注入学习,包括Less 1的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前零碎写了点,就一起发了

笔记-日报整理

07/24

token 是服务器和客户端之间 用于判断用户身份的“暗号”
服务器可以根据不同的token 授予不同的数据操作

get类型 去掉token等验证参数,如果可以正常请求,则存在csrf漏洞
post类型 同时去掉token等验证参数和referer参数,如果可以正常请求,则存在csrf漏洞,可以构造外部form表单形式实现供给。对referer参数可以尝试绕过。

csrf漏洞防御 验证HTTP Referer字段,在请求地址中添加token并验证,在HTTP头中自定义属性并验证
(均为验证用户身份,最安全方法为一次一验)

xss漏洞本质为浏览器渲染html文档过程中出发了注入的脚本。
分为三类:

  1. 存在链接中,在请求是跨站代码经过服务器反射回来,输入reflected xss(反射xss)
  2. 存储于服务端,数据库中 属于 stored xss。
  3. 基于dom的跨站,由于客户端脚本自身解析不正确导致的安全问题。属于dom based xss

csrf存在于恶意站点页面上,促使访问者请求被攻击网站的某个url,层而达到改变服务器数据的目的。(cross-site request forgery)
csrf的破坏力取决于受害者的权限,与浏览器机制有关。(当用户在网站成功身份验证后,浏览器会得到标识身份的cookie)
上述referer作用是将页面和身份绑定,可以让服务器端知道,是否为恶意链接引导的错误点击。
如果csrf和xss同时存在的话,可以用验证码来防御问题。(验证码重要性!)

07/30

文件上传保护:

  1. 检查文件扩展名
  2. 上传文件保存目录不可解析jsp,php等脚本语言(防止恶意上传脚本攻击)
  3. 文件名随机命名(不可用用户自定义命名)
  4. 对上传的图片文件再处理(如微信上传图片二压)
  5. 记录日志

资料引用:
http://blog.nsfocus.net/web-vulnerability-analysis-coding-security/#Web

能够访问到探针页面,phpinfo页面,服务器信息页面等,属于信息泄露。

appscan自带小工具 :

  1. power tools

    1. authentication tester 弱口令爆破,在账号密码处输入占位符,然后输入登陆成功的语句。即可爆破。
    2. expression test 正则表达式替换修改。
    3. request editor 修改发送包类似burp repeater
  2. token analyer 类似 burp sequence 可以针对phpsessid等进行分析,技术分析,卡方等等。

  3. glass box属于灰盒测试 适用于java后台。有需要再用

appscan生成报告:管理综合报告,详细报告,开发者等

08/08

Flash跨域访问漏洞:

漏洞描述:
不正确的crossdomain.xml策略将导致严重的安全问题,如信息泄露、CSRF等(漏洞等级为低危)
特征为:

  1. permitted-cross-domain-policies 参数为all ,表示为将目标域上所有文件加载为跨域策略文件。
  2. allow-access-from 参数为* 时,任何域有权通过flash读取本域中内容。
  3. allow-http-request-headers-from header 参数为* 时允许发送任何信息头。

检测条件和方法:

  1. crossdomain.xml文件存在
  2. 上述特征存在

验证截图:
在这里插入图片描述
引用: https://blog.youkuaiyun.com/sotower/article/details/45046097

nmap 脚本使用

使用脚本方式即 --script=xxx (auth/brute/default/vuln)
-iL 为读取文件中ip列表 , 适合自动化脚本
-oX xxx.xml 为保存为xml文件,xml类似json相比txt等方便读取调用。

burpsuite 浏览器无法访问 问题解决

在使用burpsuite拦截网站请求时候,部分网站使用https使得代理后无法访问
使用以下博客方法可以解决。
https://blog.51cto.com/xujpxm/2085695
(实际上在需要浏览的时候,intercept关掉更加方便。)

sqli-labs笔记 less 1

常用url编码

字符url编码
空格%20
%27
#%23
"%22

数据库连接字符串函数:concat()/concat_ws(),相比之下,ws函数多了分隔符,相对于我们更实用。常用为 concat_ws(char(32,58,32),xx...xx)
系统数据库名称:information_schema
数据库基本信息表:schemata
表信息表: tables
列信息表:columns
注入策略大概为

  1. 单引号检验
  2. orderby测注入点数量,
  3. union select看回显位置(因为大多数后台函数只调用一次mysql_fetch_array,所以注意此时要将id=0,即不让他搜索到真实数据,防止读取不到回显)
  4. 利用回显查询 user(),database(),version() 。主要的是database()数据库名
  5. 利用数据库名查询表。
    union select table_name from information_schema.tables where table_schema=database()
    (引用博客为: https://blog.youkuaiyun.com/u012763794/article/details/51207833 ,平台为sqli-labs第一题。此时上述函数只能出现一个表名,而原博客使用的方法是limit从而一行一行继续读取直至读取完毕。太慢了,使用新方法。group_concat()
    将原函数改为union select *group_concat(table_name)* from information_schema.tables where table_schema='security',即可一次读取完毕
    (注意本题为字符型注入,table_schema后面库名需要加单引号。)
  6. 利用表名查询列名。
    union select column_name from information_schema.columns where table_schema=database() and table_name='users'
    得到id,username,password三个列名
  7. 利用列名脱裤
    union select group_concat(concat_ws(char(32,58,32),id,username,password))from users
    得到全部信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值