Pikachu靶场之RCE
一、概述
RCE的英文全称:remote command/code execute,分为远程命令执行ping和远程代码执行eval
RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。
出现漏洞原因:没有在输入口做输入处理
一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。其实这就是一个接口,可以让攻击者直接向后台服务器远程注入操作系统命令或代码。
具体后端代码如下:
1$result.=shell_exec('ping'.$ip);
二、拓展知识ping基本概念:ping是一个基本且重要的TCP/IP网络工具,也是检测网络故障的基本工具
主要作用:
通常用于检测网络的连通情况和测试网络速度
根据域名得到相应主机的IP地址
根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量
简单用法:
在命令提示符下输入:
ping 对方IP地址
其他用法: ...
Pikachu靶场之SQL注入
前言:SQL注入知识点
SQL注入是什么?SQL注入是一种通过拼接后台SQL语句达到攻击目的的手段
SQL注入分类:
从注入手法分为:联合查询注入、报错型注入、延时注入、堆叠注入
从数据类型可分为:字符型、数值型
从注入位置可分为:GET数据、POST数据、HTTP头部、cookie注入
必要知识
名为information_schema的数据库,储存记录着所有数据库名、表名、列名,可以通过它获取指定数据库下的表名或列名信息
数据库中 “.” 代表下一级,如xiaohong.user表示xiaohong数据库下的user名
常用参数
12345678information_schema.tables:记录所有表名信息的表information_schema.columns:记录所有列名信息的表table_name:表名column_name:列名table_schema:数据库名user():查看当前MySQL登录的用户名database():查看当前使用MySQL数据库名version():查看当前MySQL版本
1.数字型注入抓包,观察看出它是post型,并且可以在 ...
Pikachu靶场之CSRF
1.概述在CSRF的攻击场景中,攻击者会欺骗受害者在登录某一网站的前提下点击某一个链接,从而获取受害者的信息
2.CSRF(get)看名字是get型的CSRF漏洞,需要留意一下url
先点击提示,登陆界面,然后获得了个人信息
我们修改一下个人信息,提交之后发现网址没有一点变化
不是说是get型的吗,按道理应该会在url上显示出来的呀,别急,稍安勿躁,在这里看不到,可以试试burp suite
点击修改信息,对submit这一瞬间进行抓包
看到了含有敏感信息的url,这时进行一个致命的操作——在url上修改用户信息
将sex改成:girl,然后将修改后的url发送给受害者,欺骗他访问
受害者一旦点击攻击者发送的链接,则他的信息就会被修改
如下:
3.CSRF(post)post的用户信息存在于请求体中,只需要在请求体中修改再刷新页面即可。
但此时我们要做的就是给用户发送一个链接,使其信息发生改变,所以我们要做的就是写一个利用该漏洞的HTML文件,然后再发送给用户请求这个HTML文件的链接。
似乎有些麻烦,不过bp能够帮你:
同样,抓包后右键进行如下操作
复制获得的链接发送给用户 ...
Pikachu靶场之XSS
1.反射型XSS-get出现一个这样的页面,直接输入特殊字符,看是否被过滤掉
似乎没啥异常,直接查看源代码,
接着输入测试代码:
1<script>alert(1)</script>
如下:
结果发现输不下了,接下来就用到了我们浏览器的开发者工具
我们改一下长度限制,改成2000吧,然后再输入
1<script>alert(1)</script>
结果有了:
2.反射型XSS-Post映入眼帘的就是登录界面,为了针对性地练习XSS,直接点击提示,得到登陆账号和密码,随即登录
得到的是一个输入框
接下来的解题步骤与get的反射型XSS的一样,
两者的区别在于,get型是以url方式提交数据,而post型是以表单的方式提交数据
也就是说,再上一个get型的题目里我们可以通过url来改变参数利用漏洞,而在这里不可以
3.存储型XSS1.DOM型XSS先输入一些特殊字符看是否过滤
11''<>&
可以发现并没有什么过滤,然后直接输入
1<script>aler ...
零零碎碎1
1.MAC地址和IP地址在分配依据上的不同MAC地址的分配时基于制造商
IP地址的分配时基于网络拓补
2.token是什么?作为计算机术语,是“令牌”的意思。
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登陆后,服务器生成一个Token便将此Token返回给客户端。以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
3.onerror 事件onerror事件会在图片或文档无法正常加载时执行。
例如:img标签中的src图片加载失败,原来的图片会出现一个加载失败的小图,
onerror就在发生错误时被调用,从而用一张备用图片代替原图
1<img scr="url" onerror="function()">
其中,scr属性是需要加载的图片的URL,当该图片无法正常显示时,执行onerror里的这个Function函数。
4.eval()作用:可以接受一个字符串,并将该字符串当作代码来执行。
5.onblur失焦事件
什么是失焦?
失焦即失去焦点,就是当鼠标不在点击指定位置时 ...
python requests详解
一、前言1、requests简介requests是一个很实用的 Python HTTP客户端库 ,爬虫和测试服务器响应数据时经常会用到,它是python语言的第三方的库,专门==用于发送HTTP请求==,使用起来比urllib更简洁也更强大。
2. requests 安装这里我直接在windows系统的系统命令行中安装,(python的版本是python3),
pip3 install requests
二、常用方法
序号
方法
描述
1
requests.request(url)
构造一个请求,支持以下各种方法
2
requests.get()
发送一个get请求
3
requests.post()
发送一个post请求
4
requests.header()
获取该HTML的头部信息
5
requests.put()
发送put请求
6
requests.patch()
提交局部修改的请求
7
requests.delete()
提交删除请求
三、常用属性或方法
序号
属性或方法
描述
1
...
web安全基础
web介绍web工作流程:
浏览器工作流程:
web通信URL1.URL概念:即网页地址
2.
3.
实例:
HTTP1.概念:什么是http?
2.http的使用:
3.HTTP的报文到底长什么样?
再看一个新闻发帖的HTTP发文:
//cookie:证书
set-cookie:颁发证书//
可知,HTTP的请求方式有get,post等
4.http状态码及其编号
14种状态码介绍 1.==200== OK 成功
请求正常被服务器处理
==204== Not Content
请求处理成功但是没有资源可返回,相应报文中不含实体的主体部分,另外也不允许返回任何实体,浏览器返回的页面不发生更新
一般在只需要客户端给服务端发消息,而对客户端不需要发送新内容的情况下使用
==206== Partia ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment