相关作业总结

# 总结这几天的学习内容

# Pikachu的CSRF模块            apipost6(工具)

# GET:

皮卡丘的网址,修改信息,进行抓包

最后总结:token
token如何防止CSRF
CSRF的主要问题是敏感操作的链接容易被伪造
每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对随机码进行验证
网页接受从后台发过来的token,类型不可见。将其一并提交给后台进行验证。每次刷新,后台发送过来的token都不一样,起到了防止伪造的作用。

防范措施
增加token输证(常用的做法):
1.对关健操作增加token参数,token值必须烈机,每次都不一样;
关于安全的会话管理(避免会话被利用):
1,不要在客户脑助保存部源信息(比如身份认证信息):
2.测试直统关闭,退出时,的会话过期机制:
3,设置会活过期机制,比如15分钟内无操作,则自动登录超时;
访问控制安全管理:
1.敬感信息的修改时需要对身份进行二次认证,比如修改账号时,需亚判日密码;
2.敏浸信息的修改使用past,而不是get;
3.通过http头部中的referer来限制原页面
增加验证码:

一般用在登录《防暴力破模),也可以用在其他重要信息操作的表单中《需要考虑可用性】

# 二,JAVA的安装遇到的问题

Java三大版本
Write Once,Run Anywhere
JavaSE: 标准版 (桌面程序,控制台开发…)
JavaME: 嵌入式开发 (手机,小家电…),已经凉了
JavaEE: E企业级开发 (Web端,服务端开发…),JavaSE为基础



安装开发环境
卸载JDk
删除Java安装目录
删除环境变量JAVA_HOME
删除path下关于JAVA的目录
Java -version
安装JDK
百度搜索JDK8,找到下载地址
同意协议,下载电脑对应的版本,如64位操作系统下载 jdk-8u281-windows-x64.exe
双击安装JDK
记住安装路径
配置环境变量
我的电脑-》属性-》系统高级设置-》环境变量
系统变量 新建–> JAVA_HOME 输入对应的jdk安装路径
path变量–>% JAVA_HOME%\bin
测试是否成功 cmd–>Java -version
J

自此,我的问题解决成功

# 三,文件上传漏洞(二)

一,%00截断和00截断

二,靶场闯关

三,条件竞争

strrposs用函数,在于截取后缀,if:判断 (inarray)是否匹配 到数值并执行代码,相反则执行else   tmp:临时     HEX:查看网页传参的十六进制代码

截断:有一个终止符  

1.php.jpg=>操作系统        1.php终止符号.jpg=>白名单检测   jpg

move_uploaded_file()移动文件

点击上传=>临时目录=>移动出来重命名

黑名单不安全,白名单(不一定安全)

点是连接符,/:路径,rand(10,99)=>随机值10-99随机选择一个

date(“YmdHis”)=>时间日期        

把图片直接塞入数据库:

图变文字,文字变图

URL编码=>%××××

GET可以接受URL编码,而POST不能

https://www.bejson.com/convert/ox2tr/     (做渗透,去截断)

​	对一句话检测:

​           一句话木马改后缀名

​          渲染图片,检测图片类型,图片内容

​         图片马(图片+一句话木马)

/b:二进制复合    copy 1234.jpg/b+1.php 2222.jpg

gif绕过 不会去渲染前面几行的代码       png绕过(操作起来很麻烦)

# 四,站长新动力

不能直接用控制台

然后在上面的网址com后填上?url="><script>alert(1)</script>//(标签法)

大小写:<Script>alert("en")</script>

事件法:<img src=1 οnerrοr=alert(1)>

伪协议法:<a href='' οnmοusemοve=alert('en')>click</a>

1)http://:这个是协议,也就是HTTP超文本传输协议,也就是网页在网上传输的协议。

2)www:这个是服务器名,是指在因特网上以超文本为基础形成的信息网。

3)php.cn:这个是域名,是用来定位网站的独一无二的名字。

4)www.php.cn:这个是网站名,由服务器名+域名组成。

5)/:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录

6:)article.html:这个是根目录下的网页

牢记知识点:rul接受用户的输入,get方式

# 五,手工注入

墨者靶场

是否有注入点,and 1=1网页没有变化, and 1=2网页变化。

我们发现这里存在sql注入

接下来进行排查字段数,使用 order by 语句,开始测试,结果如下:

输入1时无变化,直接增大到5试试看,如下:

页面报错了,证明他低于五个字段

判断列数:(有四列)null代替,第五列的时候报错

利用回显获取数据库名称

查询数据库中的表:

分别查询两个表的字段:(发现stormgroup_member表中有账号和密码

查询stormgroup_member表的字段:

账号为:dsan13

密码为:150046

# 六,文件上传漏洞

一,客户端检测

二,服务端检测

三,靶场闯关

客户端校验:一般是在月页上写一段Js脚本,用Js去检测,校验上传文件的后绍名,有白名单也有黑名单。
判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传jpg/jpeg/.png后缀名的文件,而此时并没有发送数据包,所以可以通过抓包来判断,如果弹出不准上传,但是没有抓到数据包,那么就是前端验证
前薪验证非常不可靠,传正常文件改数据包就可以绕过,甚至关闭JS都可以尝试晓过
墨白名单机制:
思名单:不允许上传什么
白名单:只允许上传什么
白名单比黑名单更安全
靶场第题:http://59 63.200.79.8016/Pass-01/ndex.php

用Burp抓包修改

文件上传=>功能

上传头像,上传照片,上传文档

上传后端脚本,包含恶意语句并且能正常访问,就可以控制服务器

黑名单:不允许上传什么

白名单:只允许上传什么

安全中的概念:

黑名单:不允许名单的XXX

白名单:只允许XXX

白名单安全性要高于黑名单

分布式配置文件:

网站有自己规则:php

特例:如果我存在听我的 重新定义规则

php=>windows机器里不在意大小写(可以改后缀大小写)

空格绕过法:

php   php空格  不相同   抓包修改

点绕过法:

 抓包修改

Windows文件流绕过:

抓包后缀加::$DATA

###### .php: :$DATA

点空点的组合

双写构建:双写绕过法

pphphp(抓包修改)(未做循环可用)

没什么基础:PHP+python/golang

有点电脑基础的:JAVA

比较厉害的:C+汇编

# 七,跨站请求伪造

一,什么是CSRF?



Cookie代表你的身份权限 存活周期

同源法则:同ip同端口同协议的属于同源  共用Cookie

hack.zkaq.cn 1                bbs.zka2

CSRF:偷偷的让浏览器发送数据包

A站点->JS让你访问B站点

受害者的浏览器上面执行的

B是正常网站,A是黑客搭建危险站点!
## (二)CSRF靶场演示

CSRF:防御方式:

Cookie里面有。传参里面有,要求对应才生效

Cookie=token=nf

Token一串随机值

(Cookie和Token要求对应)

token=nf;newpasswd=123456

A=>B   csrf永远不知道目标的Cookie

利用JS自动提交数据

通过Burp的工具生辰攻击数据包

是针对你本地。修改参数

1,传参地址要修改,肯定要写到目标传参

2,传参内容,文件写入的路径


CSRF和xss有什么区别:
CSRF:利用Cookie,但是无法获取Cookie xss:获取Cookie
鸡肋漏洞组合拳:
CSRF self-xss :=>CSRF和反射型xss搭档的时候会产生很不 
错的效果
a.nf.com

后台存在反射性xss    直接打一个xss   并访问它

# 八,XSS原理与解剖

SQL注入 =>用户输入的数据被当作SQL代码执行

XSS => 用户输出的数据会被当做前端代码执行 

 XSS:偷取用户的身份凭证

HTTP他是无状态无连接的协议

   Cookie:通行证

 document.cookie

JS操纵:

1、读取信息

2、可以发起请求(ajax 异步传输)

 

读取Cookie将Cookie发送出去成了一个攻击手法

游览器法则:同源策略 同源性法则

同源:同协议 同域名/ip 同端口

XSS能窃取到的Cookie只能读取当前触发页面同源下的Cookie

XSS三大类型:

反射型:非持久性生效的攻击,仅仅作用一次(目标必须主动输出恶意语句)

储存型:恶意语句会被储存住,别人访问显示的页面就会中招

Dom型



XSS如何被触发:

用户输出的数据被当作前端代码执行(JS代码)



 JS代码有三种触发方法

1、标签法:<script></script>

2、伪协议法:小众协议叫做伪协议(自定义协议)

javascript:

<a href=javascript:alert(1)>123</a>

3、事件触发法:on 专门表示事件(事件加在标签内)

## DOM型和反射型有什么区别?



XSS就是XSS。所谓“存储型”、“反射型”都是从黑客利用的角度区分的。对于程序员来说意义不大,反而是误导。只有“DOM-based”型略有不同。

XSS、SQL injection之类的漏洞,原理都是破坏跨层协议的数据/指令的构造。

如SQL注入,涉及应用层和数据库层。协议是SQL查询语言。对于应用层来说,一句sql是数据(字符串);对于数据库层来说,一句sql是指令。sql注入的原理,就是破坏sql的构造。防御的方法,就是用参数查询(现代所有的数据库驱动的api一定包含了)而不是自己拼sql字符串。这个已经是所有后端工程师的基本常识了。

而XSS,两个层次是服务器端和浏览器端。协议就是HTML/CSS/JavaScript。对于服务器端来说,html是数据(字符串);对于浏览器端来说,html是指令。XSS的原理,就是破坏html/css/js的构造。

防御的方法,一般认为是正确escape,就是替换尖括号、引号等特殊符号。

但是这是不够的,因为这只解决了html的问题。考虑如下:

<script>var name = '<?= $name ?>';</script> 

这代码显然有XSS隐患。

那么我们escape一下,是不是就好了?

<script>var name = '<?= htmlspecialchar($name) ?>';</script> 

很遗憾这样是没用的。因为这里是javascript输出点,xss破坏的目标是破坏js构造而不是html构造。html构造中的关键字符是尖括号、双引号、“&”符号等。而js构造就复杂了,比如换行、注释(//和/*)、引号(包括单引号)等都会改变构造。

为了确保js构造的正确,应该:

<script>var name = <?= json_encode($name) ?>;</script> 

不过这还是存在一个漏洞。(作为一个简单的习题留给同志们。)

【另外PHP不同版本的json_encode的行为不一致,几乎都有问题,虽然不至于直接XSS,但存在被利用的可能。】

显然,PHP没有提供比较便利的方式来确保代码的安全,这是那个年代(199x)服务器端脚本技术的通病。遗憾的是,web技术发展到今天,即使是常见的现代Web模板,大多提供了默认的html escape,但对inline script中的XSS防御就乏善可陈了。

## 一,被攻击的对象不同

## 二,解析位置不同

## 三,存储时间不同

## 四,允许输入点不同

# 反射型与存储型的区别:

## 记录不经过后端

# 信息收集都有哪些:



## whois(微步),网站架构,dns信息(通过查找dns可以检测到是否有子域名收集),子域名搜索,敏感目录及敏感信息,源码泄露,脆弱系统(网络空间),旁站查询,C段查询,指纹信息,端口服务,备案信息,真实IP,探测waf,社工(朋友圈,空间,求职等),企业信息(天眼查,企业信用信息公式系统)

## 


posted @ 2022-08-23 21:07  yjjgyui  阅读(158)  评论(0)    收藏  举报