分类 web安全 下的文章

记一次self xss与csrf的组合拳


前言
之前看过几篇表哥们self xss配合csrf打的组合拳,一直没找到机会试,最近终于找到一处并成功复现,就来记录一下,大佬们勿喷

self xss指的是只有自己能触发xss 其他用户触发不了的
一般都是出现在个人资料信息处 因为只有自己能触发 并没什么卵用
但配合csrf的话是可以让其他用户触发我们的xss


业务逻辑测试点笔记


最近在看逻辑漏洞与越权相关书籍,记录一些常用的方法,每次检测的时候按照不同业务类型一个一个的去测试。

业务处

注册

任意用户注册
短信轰炸/验证码安全问题/密码爆破
批量注册用户
枚举用户名/进行爆破
SQL注入/存储型XSS


CSRF原理实战及防御手段


注:本文仅供学习参考

csrf定义:
CSRF跨站点请求伪造(Cross—Site Request Forgery)攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

个人理解(我是没权限修改你信息,但如果这个站点存在csrf的话,你想完成转账修改信息等操作,并且你知道这个站怎么请求这些信息的,你可以构造一个恶意的数据包,骗对方点击,对方点击后会以自己的名义给服务器发送请求是合法的,但是攻击者已经完成了他想要的操作)


SQL注入之布尔注入原理


注:本文仅供参考学习

布尔注入定义及原理:
所谓盲注就是在服务器没有错误回显的时候完成注入攻击。
盲注分为布尔盲注和时间盲注
布尔盲注:boolean 根据注入信息返回true or fales 没有任何报错信息
时间盲注:界面返回值ture 无论输入任何值,返回的情况都是正常的来处。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确。


SQL报错注入常用函数


注:本文仅供学习参考

SQL报错注入定义
SQL报错注入基于报错的信息获取,虽然数据库报错了,当我们已经获取到我们想要的数据。例如在增加删除修改处尝试(insert/update/delete)。

报错注入条件:
后台没有屏蔽数据库报错信息,在语法发生错误的时候会输出在前端。

常用四个报错函数

    updatexml():是mysql对xml文档数据进行查询和修改的xpath函数
    extractvalue():是mysql对xml文档数据进行查询的xpath函数
    floor():mysql中用来取整的函数
    exp():此函数返回e(自然对数的底)指数X的幂值


SQL注入原理以及实战


注:本文仅供学习参考

SQL定义
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。讲人话就是你在前端的操作影响到后端的数据了。


利用导出数据库拿shell


注:本文仅供学习参考

利用数据库拿shell需要两个条件
首先需要知道网站的绝对路径,
并且文件夹具有可写入的权限。
那我们就可以利用数据库里into outfile函数来进行写入函数
select'<?php eval($_GET[cmd])?>'into outfile '物理路径';