一、反射性xss(get)

登录pikachu选择xss模块,第一题,写了一下,发现输入长度不够,很简单,在前端改一下长度就可以使用了,这题就不做过多解释

或者直接在URL中进行写入,也是肥肠滴方便

就很简单的弹窗了,下一道

二、反射性XSS(post)

第二道xss,要输账号密码,我们先用暴力破解的密码试一下

好的进去了,那我们就不用多管了。

继续试一下看看能不能正常弹窗

又弹窗????没设置过滤那我们就笑纳了呗,下一个

三、存储型xss

是一个无情的留言板,我们来正常弹窗试一下

????结果又正常弹窗了,看来还是没设置什么过滤,那我们继续下一道呗

四、DOM型xss

来嘛

终于不可以了,我们找一下问题所在

发现是因为它一点击就会触发domxss(),找到了domxss函数的内核是

function domxss(){
var str = document.getElementById("text").value;
document.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>";
}

闭合一下发现还是很容易就弹窗了,pyload是'><img src="#" onmouseover="alert('xss')">

至于下一个xss-x的问题,和这个题是肥肠相似的,所以就不再单独解释,直接给出弹窗叭

五、xss之盲打

让我们小试一下

发现没有弹窗,但问题很大,看了一下提示,登陆了一下后台

发现已经成功弹窗~

六、xss之过滤

我正常来弹个窗试一下

(别说这些'>'的话,不要怕,就是干!)?????也就是说他把<>给过滤掉了??

测试了后其实并不是,有很多没有过滤的东西,测试了很久发现其实只需要更改大小写就可以进行绕过

payload:<SCRIPT>alert(1)</ScriPT>

七、xss之htmlspecialchars

需要查看一下源码了

htmlspecialchars这个函数将网页上面的爬取直接写到href里面,可以看到 “ " ”,“ > ”和“ < ”都经过了编码,剩下的字符没有,单引号依然可以使用

既然已经记录想必就可以构造闭合点击弹窗了

' onclick=alert(1) '

成功

八、xss之href输出

直接<script>alert(1)</script>

发现

不是很对,既然写在herf里了的话,就直接构造alert

payload:javascript:alert(1)

OK.下一个

九、xss之js输出

上<script>alert(1)</script>,发现无任何反应

看源码发现到了问题所在,多加一个闭合就可了

payload:'</script><script>alert('xss')</script>

弹窗成功

CSRF

一、csrf(get)

先根据提示登录

进入修改个人信息

利用审查元素,查看submit类型

发现是get传参,提交一次试试

找到了传参的参数以及路径,利用netword构造payload

http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=123456789&add=PPSUC&email=zerben%40ppsuc.edu.cn&submit=submit

用户点击后就可以完成修改

成功

二、csrf(post)

同样,登录lili的账号,点击修改

查看审查元素发现是post传参

这里的攻击方式跟XSS中POST类型是一样的,攻击者可以搭建一个站点,在站点上做一个表单,诱导lucy点击这个链接,当用户点击时,就会自动向存在CSRF的服务器提交POST请求修改个人信息。

编写一个post.html页面,本文把此页面放到 Kali 的/var/www/html/pikachu/doge_csrf下,然后启动 apache 服务

之后只需要把构造的URL发送给受害者,让其点击就可以完成目标操作,成功修改信息。

url:

http://192.168.171.129/pikachu/doge_csrf/post.html


<html>
<head>
<script>
window.onload = function() {
document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://192.168.171.133/pikachu/vul/csrf/csrfpost/csrf_post_edit.php">
<input id="sex" type="text" name="sex" value="girl" />
<input id="phonenum" type="text" name="phonenum" value="12345678922" />
<input id="add" type="text" name="add" value="hacker" />
<input id="email" type="text" name="email" value="lucy@pikachu.com" />
<input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

三、csrf(token)

目前没有好的方法可以绕过

 

WEB攻击与防御技术 pikachu——XSS攻击加CSRF的更多相关文章

  1. 如何发起、防御和测试XSS攻击,我们用DVWA来学习(上)

    XSS 全称Cross Site Scripting 即‘跨站脚本攻击’. 从其中文释义我们能直观的知道,这是一种对网站的攻击方式. 其原理在于,使用一切可能手段,将可执行脚本(scripting)植 ...

  2. Web安全攻防(一)XSS注入和CSRF

    跨站脚本攻击(XSS) XSS(Cross Site Scripting),为不和层叠样式表CSS混淆,故将跨站脚本攻击缩写为XSS. 攻击原理: 恶意攻击者往Web页面里插入恶意Script代码,当 ...

  3. 常见【十种】WEB攻击及防御技术总结

    最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...

  4. web攻击之零:WEB攻击及防御技术汇总

    一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的内容文本,如果服务器端没有过滤或转义这些脚本,而这些脚本由通过内容的形式发布到了页面上,这个时候如 ...

  5. 关于Web安全的那些事(XSS攻击)

    概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发 ...

  6. web 安全问题(二):XSS攻击

    上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击. 什么是XSS攻击 XSS攻击的原理 XSS攻击的方法 XSS攻击防御的手段 什么是XSS攻击 XSS攻击全名(Cross-Site-Scrip ...

  7. WEB安全实战(五)XSS 攻击的第二种解决方式(推荐)

    序 说到 XSS 攻击,前边已经有两篇文章在讲这个事了,这次又拿出来说,主要是针对近期工作中的一些新的问题.那么之前是怎么解决问题的呢?为什么又要换解决方式?以下就具体的跟大家分享一下. 旧方案 公司 ...

  8. 如何发起、防御和测试XSS攻击,我们用DVWA来学习(下)

    上一篇我们了解了XSS攻击的原理,并且利用DVWA尝试了简单的XSS攻击,这一篇我们来实现更复杂的攻击,然后探讨防御机制和测试理念. 前面我们通过脚本注入让网页弹出了用户cookie信息,可以光弹窗是 ...

  9. 程序员常用的3大Web安全漏洞防御解决方案:XSS、CSRF及SQL注入(图文详解)

    https://blog.csdn.net/ChenRui_yz/article/details/86489067 随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面 ...

  10. XSS攻击常识及常见的XSS攻击脚本汇总

    一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...

随机推荐

  1. C#常见的数据结构

    数据结构:1.Set集合,纯粹的容器,无需存储,就是一个容器2.线型结构:在存储的时候,一对一存储3.树形结构:表达式目录树(二叉树).菜单结构:一对多4.图形结构:扩扑图.网状结构(地图开发,用C# ...

  2. python学习——set集合,sorted函数

    题目: 输入a,b班的名单,并进行如下统计. 输入格式: 第1行::a班名单,一串字符串,每个字符代表一个学生,无空格,可能有重复字符.第2行::b班名单,一串字符串,每个学生名称以1个或多个空格分隔 ...

  3. Vim与系统剪贴板的复制粘贴

    上次在VirtualBox 安装Ubuntu 的时候有用到 vi/vim 与系统剪贴板的复制粘贴 通用问题,因此记录一下. 开始前需要先查看vim 是否已经支持clipboard功能,使用vim -- ...

  4. Camstar获取回参

    public static bool SplitQty(string Username, string Password, string Container, int splitQty,int pla ...

  5. Install MySQL wsl1

    To install MySQL on WSL (ie. Ubuntu) env Ubuntu 22.04.1 LTS mysql Ver 8.0.32-0ubuntu0.22.04.2 for Li ...

  6. git技能树总结

    1. git简介 版本控制: 指的是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统发展可分三个阶段:本地版本控制系统 -> 集中式版本控制系统 -> 分布 ...

  7. springcloud(二) - 服务调用Feign&openFeign

    功能介绍:动态代理的方式,简化请求其他服务的开发成本,更好得对请求地址组装.接受返回信息.返回参数解析等  Feign和OpenFeign区别: OpenFeign实现了Feign的基础功能,同时支持 ...

  8. 【文献阅读】An efficient motion planning based on grid map: Predicted Trajectory Approach with global path guiding

    (1)主要工作内容 本文提出了一种基于轨迹预测法的欠驱动无人艇的全局运动规划算法.该方法考虑了无人艇的所有动力学约束,并且能找到一条根据船舶自身操纵系统进行跟踪的全局轨迹. 根据USV数学模型生成的预 ...

  9. 火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!

    2022年卡塔尔世界杯的吉祥物最近在全球火出圈了,并且喜提中国网友给予的爱称"饺子皮"."馄饨皮"(官方名字:拉伊卜,意为"技艺高超的球员" ...

  10. SQL_SERVER 2000启动问题

    SQL Server evaluation period has expired解决办法 问题现象: 本地计算机 上的 MSSQLSERVER 服务启动后又停止了.一些服务自动停止,如果它们没有什么可 ...