- 博客(37)
- 收藏
- 关注
原创 每天一道ctf
构造:data://text/plain,welcome to the zjctf,为了绕过某些过滤,这里用到base64编码。然后有一个可控参数file,构造file=useless.php,但是针对php文件我们需要进行base64编码,否则读取不到其内容,所以构造payload:file=php://filter/read=convert.base64-encode/resource=useless.php。结果为:O:4:"Flag":1:{s:4:"file";
2022-11-13 21:19:21
980
原创 每天一道ctf
PHP的字符串解析特性:PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还上传了非法字符。PHP的字符串解析特性:PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】。
2022-11-07 21:21:06
827
原创 每天一道ctf
接着执行反序列化,执行之前限制性wakeup函数,但是__wakeup函数会修改username的值,所以一个想办法绕过wakeup。1.==是不判断二者是否是同一数据类型,而===是更为严格的比较,它不仅要求二者值相等,而且还要求它们的数据类型也相同。通过反序列化来执行destruct函数,如果password=100,username=admin,可以获得flag。2.常见的备份文件后缀:.rar .zip .7z .tar .gz .bak .swp .txt .html。
2022-11-04 13:33:12
461
原创 ctf-web入门-文件上传
Web 151考点:后端无验证,前端校验查看源码可以发现只能上传png图片修改为php写一个php文件上传一句话木马可以发现已经成功上传查看上级目录发现可疑文件查看flag.php文件内容得出flag得到flagWeb 152考点:绕过前端校验解题思路:经过一系列的方法测试上题的解题方法并不适用于本题。直接改前端,后端会校验,文件不合格。那就抓包一下。将Content-Type内容修改成image/png,重发,发现成...
2022-05-28 16:50:54
4497
原创 ctfshow-web入门-node.js
web334先下载附件,在user.js中发现了账号密码开环境,直接输入账号密码是错的,具体原因在login.js中var findUser = function(name, password){ return users.find(function(item){ return name!=='CTFSHOW' && item.username === name.toUpperCase() && item.password === passwor
2022-04-28 20:29:04
551
原创 CTFSHOW-web入门-XXE
XMLXML即 可扩展标记语言(EXtensible Markup Language),是一种标记语言,其标签没有预定义,您需要自行定义标签,是W3C的推荐标准。其于HTML的区别是:HTML 被设计用来显示数据 XML 被设计用来传输和存储数据XML文档结构包括:XML声明 DTD文档类型定义(可选) 文档元素XML是一种非常流行的标记语言,在1990年代后期首次标准化,并被无数的软件项目所采用。它用于配置文件,文档格式(如OOXML,ODF,PDF,RSS,...),图像格式(SV
2022-04-23 23:20:34
5949
原创 web入门--ssti
web361注入点是?name。?name={{''.__class__.__mro__[1].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()}}利用的是os._wrap_close类得到flagctfshow{77ca18dd-38c5-4a9c-a735-522a8af345c9}web362可以用以下已有的函数,去得到__builtins__,然后用eval就可以了:
2022-04-16 12:59:59
2800
原创 CTFSHOW-web入门-SSRF
SSRF简介服务端请求伪造(Server Side Request Forgery, SSRF)指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统。危害SSRF可以对外网、服务器所在内网、本地进行端口扫描,攻击运行在内网或本地的应用,或者利用File协议读取本地文件。内网服务防御相对外网服务来说一般会较弱,甚至部分内网服务为了运维方便并没有对内网的访问设置权限验证,所以存在SSRF时,通常
2022-04-09 20:20:00
1023
原创 ctfshow反序列化模块
web254GET传参即可:?username=xxxxxx&password=xxxxxx得到flagctfshow{03b60d01-62ef-4703-8217-684bb53b866a}web255web256把PHP里面的username和password改成不一样的即可,然后和get传入的对应。web257web258web259web260...
2022-04-07 21:17:54
6474
原创 xss-labs
level1仔细观察三处箭头,可以发现它是向服务器提交了一个name参数,值为“test”,从页面回显来看,将neme参数的值显示在了页面上,并且显示了name参数值的字符长度接下来,查看源码从这里我们可以看到它将name的参数值,插入到了<h2> </h2>标签之间那么 就很明显,这一关主要就是考察反射型xss但是由于不知道服务器端对于提交的敏感字符有没有过滤,所以这里直接在name参数中赋值一个简单的弹窗来进行测试。操作如下:将na..
2022-03-21 19:46:55
416
原创 upload-labs
写一个一句话木马:<?php @eval($_POST['pass']);?>Pass-01(前端验证)因为是进行前端JS校验,因此可以直接在浏览器检查代码把checkFile()函数(即如下图红色框选中的函数)删了或者也可以把红色框改成true,并按回车,即可成功上传php文件...
2022-03-19 17:15:47
295
原创 sql-labs通关
less 1—单引号字符型注入字符型注入,单引号通过随机输入id得知用户名和密码,网址后面接?id=1判断 Sql 注入漏洞的类型:1.数字型 2.字符型用 and 1=1 和 and 1=2 来判断:1.Url 地址中输入 http://xxx/abc.php?id= x and 1=1 页面依旧运行正常,继续进行下一步。2.Url 地址中继续输入 http://xxx/abc.php?id= x and 1=2 ,页面运行错误,则说明此 Sql 注入为数字型注入。.
2022-03-05 21:37:14
10910
原创 ctfshow--web--命令执行
web29可以看到过滤了flag字样但我们可以通过通配符绕过flag,比如用fla?来表示flag先用?c=system('ls');来观察该目录下存在的文件,发现了flag.php然后使用?c=system('cp fla?.php 1.txt');将flag.php的内容配对到1.txt中然后访问1.txt即可得到flag得到flagweb30发现新过滤了system以及php这两个关键字我们此时可以通过反引号```来代替system,继...
2022-02-11 22:20:43
3422
原创 ctfshow--web--爆破
web21先输入账号admin,密码随便输入,bp抓包输入的账户名和密码被base64加密了,用burp自带解密发现账户名和密码之间用冒号隔开了接下来可以爆破了载入题目字典加前缀再加一个编码这个应该取消掉,因为里面有=,会造成编码失败把flag格式输进去开始爆破得到flagweb22推荐使用这个网站输入wp.ctf.show没有发现输入其他地址也没...
2022-01-29 18:59:22
3669
原创 ctfshow--web--信息搜集
web4进入链接后访问 robots.txt得到 flag详细目录,继续访问即可获得flagweb5phps其实就是php的源代码文件,通常用于提供给用户查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。访问index.phps,得到源码拿到flag.
2022-01-22 18:46:32
721
原创 DVWA靶场
Brute ForceLow<?php//检查变量是否设置(先看有没有Login参数)if( isset( $_GET[ 'Login' ] ) ) {//获取密码,存入pass变量中 $user = $_GET[ 'username' ];//获取密码 $pass = $_GET[ 'password' ];//将密码使用md5加密 $pass = md5( $pass );//构建SQL语句,查询结果保存在query变量中 $query =
2022-01-22 16:48:23
1111
原创 网安视频学习
IP包头分析可选项可达到10行,40个字节,一般不用IP包头:最长可达到60个字节,20-60个字节版本:占了4个比特(电脉冲) 表示该IP数据包使用的IP协议版本 ,目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议 v4/v6首部长度:此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据,看是否有可选项。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度...
2021-12-09 20:21:39
230
原创 网安视频学习
OSI与TCP-IP5层协议分层思想将复杂的流程分解为几个功能相对单一的子过程 --整个流程更加清晰,复杂问题简单化 --更容易发现问题并针对性的解决问题 --同层使用相同协议OSI七层模型下层为上层提供服务,同层使用相同协议新型模型:会话层与表示层协议少,可与应用层合并为应用层---TCP-IP5层协议重要协议:网络层有IP协议,传输层有TCP协议TCP-IP5层协议与OSI同时诞生,只不过O...
2021-12-02 21:58:45
223
原创 网络安全视频学习
渗透简单测试流程0.授权1.信息收集nslookup whois2.扫描漏洞笼统扫描,深入扫描nmap=ip范围 端口 80 (IIS apache ,什么网站)高级扫描:如IIS漏洞2003-IIS6.0 2008IIS7.0 扫描网站漏洞(sql注入,文件上传,XSS漏洞)3.漏洞利用4.提权 (shell环境,桌面环境,最高权限)5.毁尸灭迹(消除windows日志记录)6.留后门(留账号密码,...
2021-12-01 20:55:41
178
原创 pikachu靶场的两道RCE
第一道题ping一个ip并查看当前目录输入127.0.0.1,点击ping出来一堆乱码第一种方法按win+r键,输入regedit,点击确定,即打开注册表编辑器打开HKEY_CURRENT_USER项打开其中的Console项,查看有无CodePage项若有,将值改为65001,若无,创建并修改值为65001,在该项下新建一个 DWORD(32位值),命名为 "CodePage",值设为 "65001"。然后关闭注册表...
2021-11-19 20:48:11
413
原创 网络安全视频学习
1.虚拟环境与真实环境转换ctrl+alt2.格式化ntfs fat3.虚拟化技术vmware vphere4.企业enterprise专业professional服务器server客户端client5.虚拟机克隆:链接和完全 链接的依赖于第一个,只要第一个不删,第二个就可以使用 完全,克隆出来后第一个虚拟机可以不要6.交换机是组件局域网最重要的设备,不能连接内网和外网路奇不能连接局域网,只能链接内网和外网7.局域网:一般称为内网简单...
2021-11-19 20:47:03
4750
原创 upload-labs
pass-01禁用JS 直接上传Pass-02通过源码知道允许的图片类型burp抓包将application/octet-stream改为Content-Type:image/jpeg测试成功Pass-03黑名单
2021-11-12 06:45:16
2062
原创 攻防世界6-10题
第6题什么都不填,直接点login得到用户名adminmaybe you need a dictionary提示我们可能需要一个字典即burp字典爆破第7题输入/index.php?a=abc&&b=1235a即可查看第8题get方式以post方式第9题...
2021-11-12 00:49:02
2829
1
原创 数据库的增删改查
创建查增删改修改列名增语法:insertinto表名(列名1,列名2,……列名n)value(值1,值2,……值n);注意:1列名要和值一一对应2、如果表名后,不定义列名,则默认给所有的列添加值insertinto表名values(值1,值2,……值n);3、除了数字类型,其他类型需要使用引号(单双都可以)引起来语法:delete from 表名[where 条件]...
2021-10-30 07:09:26
90
原创 域名解析成ip的过程
DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。DNS能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。查询www.163.com的DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向DNS根服务器进行查询。根DNS服务器没
2021-10-23 00:42:31
12939
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人