CTFHUB解题思路
文章平均质量分 66
python炒粉
这个作者很懒,什么都没留下…
展开
-
CTFHUB-技能树-Web题-RCE(远程代码执行)-文件包含-php://input
php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。代码中说如果file 名中六个字符是 “php://” 就执行后面的include函数。因为php://input是执行后面的PHP命令所以要写成php代码形式。正数 - 从 start 参数所在的位置返回。这里其实就应该想到的是php://伪协议。负数 - 在从字符串结尾的指定位置开始。0 - 在字符串中的第一个字符处开始。正数 - 在字符串的指定位置开始。原创 2024-05-17 10:20:39 · 497 阅读 · 0 评论 -
CTFHUB-技能树-Web题-RCE(远程代码执行)-文件包含
解释:假如在index.php中include了一个文件,那么不管这个文件后缀是什么 这个文件中的内容将会直接出现在index.php中。思路:只要我们把shell.txt的一句话木马内容传到index.php,就可以用蚁剑连接。是将ctfhub传的参数用php执行,题目的目的也是让我们执行shell木马那么我们就输入。那么这句代码的意思就是如果file中没有flag字符串就执行下面的。接着返回根目录,发现flag,接下来打开flag。用接着用蚁剑连接,寻找flag。在根目录下找到flag。原创 2024-05-10 22:37:11 · 486 阅读 · 0 评论 -
CTFHUB-技能树-Web题-RCE(远程代码执行)-eval执行
CTFHUB-技能树-Web题-RCE(远程代码执行)原创 2024-05-09 21:11:54 · 365 阅读 · 2 评论 -
CTFHUB-技能树-Web题-文件上传(前端验证—文件头检查)
由此可见,只要是相同类型的文件,他的文件头就是一样的,这样代表了这个文件是属于什么类型,既然本题用到的是文件头检查,那我们制作一个图片马,将我们的一句话代码放入图片里面然后进行上传。我们先创造一个名为1.png的图片,然后写一个名为1.php的一句话代码,把他们放到同一目录下,用cmd生成一个名为2.php的图片马。右侧开头%PNG就是这个文件的文件头,这也代表了这个文件是一个png文件,打开一个jpg文件。简单来说,就是每个文件的最开头部分,就是文件头,他代表了这个文件的是属于什么类型,例如。原创 2024-04-17 21:39:09 · 796 阅读 · 1 评论 -
CTFHUB-技能树-Web题-文件上传(前端验证—MIME绕过、00截断、00截断-双写后缀)
参考链接:http://www.admintony.com/%E5%85%B3%E4%BA%8E%E4%B8%8A%E4%BC%A0%E4%B8%AD%E7%9A%8400%E6%88%AA%E6%96%AD%E5%88%86%E6%9E%90.html。00截断简单来说,就是由于php解释器是由C语言编写的,所以遵循C语言解析文件时遇到ascll码0时停止解析,而%00表示ascll码中的0,所以php解释器在解析文件时遇到%00就会默认文件名已经解析结束,所以我们可以利用这一原理进行上传。原创 2024-04-16 21:45:04 · 1517 阅读 · 1 评论 -
CTFHUB-技能树-Web题-文件上传(无验证,JS前端验证,前端验证)
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。】后,弹出的【另存为】对话框,在【文件名】一栏中输入【.htaccess】,【保存类型】选择【所有文件】,然后选择要保存的路径,单击【保存】按钮!上传后显示相对路径,访问此路径,发现可以访问,且木马执行成功。此时,再上传一句话木马,并把文件改为png格式。原创 2024-04-15 21:35:08 · 728 阅读 · 1 评论 -
CTFHUB-技能树-Web题-XSS-反射型
参考链接:https://blog.csdn.net/weixin_43486981/article/details/107974878。特点:能注入恶意的HTML/JavaScript代码到用户浏览器网址上,从而劫持会话。输入admin后,会在页面显示,猜测可以通过该输入,改变页面内容。根据提示,把XSS平台给出的代码复制到第一个输入框中进行注入。提交后,在第二个框中访问第一个框注入XSS脚本后的网址。XSS platform平台,在上面注册一个账号。提交后,在XSS平台查看注入结果。原创 2024-04-11 16:47:57 · 823 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-Mysql结构-过滤空格
得到数据库名为sqli,根据当前数据库名得到数据库下的表名。注:%09 %0A %0D +据说也可以替代空格。得到第一张表中的字段名,根据字段名获取数据。由此判断字段数为2(当前表的列数为2)得到两张表名,尝试查看第一张表的数据。原创 2024-04-10 22:04:16 · 418 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-Mysql结构-Refer注入
HTTP Referer是header的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。用bp抓到包后,将页面中的数据保存到一个txt文件中,用sqlmap爆破(根据reger注入level需要大于三)也就是说,只有当你向浏览器发送请求时,才会带上referer。得到两个表名,第一张表看名字像是自定义的表,尝试爆破第一张表。-p 指定参数,这里为 -p “id”1,2都显示,有两个回显字段。原创 2024-04-09 21:52:17 · 895 阅读 · 0 评论 -
CTFHUB-技能树-Web题-SQL注入-Mysql结构-UA注入
虽然有提示,在此还是按常规进行一下注入点判断吧。利用bp抓包,发送至repeater进行判断。1,2都回显,由此判断可回显字段数为2。得到两个表名,尝试查看第一个表中的数据。UA注入,即User-Agent注入。UA注入 需要用到leve 3。注入点在User-Agent。得到列名xwprqxhxjd。由此判断,表中有两个字段。由此判断,此处为注入点。得到数据库名为sqli。原创 2024-04-08 21:27:32 · 540 阅读 · 0 评论 -
CTFHUB-技能树-Web题-SQL注入-Mysql结构-Cookie注入
这里其实可以将数据包放入重放器中进行。得到两个表名,查看第一个表的字段。输入1 and 1=1 有回显。输入1 and 1=2 无回显。由此判断可回显字段为1,2字段。原创 2024-04-05 21:31:51 · 532 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-Mysql结构
3.除了y和n,还有两个特殊选项。一个是a,表示alway,就是总是获取。一个是q,表示退出。4.不想手动选择,则在执行sqlmap的时候,加上–batch和–smart选项。在使用sqlmap过程中,经常需要用户进行选择,如[Y/n]。1.大写的为默认选项。如果不输入,就自动使用该选项。得到两个表名,爆第一个表的字段名看看有什么信息。2.我们输入时,不用区分大小写。得到一个字段名,看看有什么数据。1 and 1=1 有回显。1 and 1=2 无回显。原创 2024-04-04 22:20:58 · 729 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-时间盲注
1=1即为真,那么将会执行sleep(3),也就是睡眠3秒钟(默认单位为秒)那既然我们可以构造这个函数,我们就用这个函数来到时间盲注这个靶场尝试一下。得到四个库名,猜测flag最有可能在sqli中,尝试爆破表名来看看。1=1就是我们的条件,sleep(3)为我们的A,1为我们的B。说明即存在时间盲注,我们通过sqlmap可以直接跑出结果。庞大的工作量太过耗时,所以到此为止,开始sqlmap注入。得到表名为flag,news,猜测结果就在flag表中。到这我们已经了解了这个判断语句,那我们可以尝试。原创 2024-04-03 23:17:39 · 796 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-布尔盲注
由于返回值是正确或错误,寻常and 后面布尔盲注语句不好使,因为它们是根据查询结果为空来判断。输入1 (也可输入1 and 1=1)返回 query_success。输入1’ (也可输入1 and 1=2)返回query_error。发现1 and length(database()) >=1 正确。1 and length(database()) >=5 错误。1 and length(database()) >=4正确。要一个一个判断有点难,可以用python脚本。这时候想到用if语句。原创 2024-04-02 22:15:00 · 558 阅读 · 1 评论 -
CTFHUB-技能树-Web题-SQL注入-报错注入
updatexml(1,2,3)第一个参数是string格式,为xml文档对象的名称,第二个参数为xpath格式的字符串,第三个string格式,替换查找到的符合条件的数据,由于第二个参数要xpath格式的字符串,因为不符合规则所以报错。时间类型的盲注,无法根据页面返还的信息判断任何信息,利用线程返还sleep(x)的时间,来判断对错的注入。布尔类型的盲注,根据返回的页面的是或否,来判断对错的注入。第三个参数:可以输入1,替换查找的符合条件的参数。第一个参数:可以输入1,为XML文档对象的名称。原创 2024-04-01 21:27:16 · 558 阅读 · 0 评论 -
CTFHUB-技能树-Web题-SQL注入-字符型注入
对于字符型注入,可在url中输入。由此判断回显字段为1,2字段。由此判断字段数为两个。原创 2024-03-29 19:43:48 · 307 阅读 · 2 评论 -
CTFHUB-技能树-Web前置技能-基础认证、响应包源代码
桌面应用程序也通过HTTP协议跟Web服务器交互, 桌面应用程序一般不会使用cookie, 而是把 "用户名+冒号+密码"用BASE64编码的字符串放在http request 中的header Authorization中发送给服务端, 例如:当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码,这就是基础认证。启动题目后,开一把贪吃蛇游戏后,查看源代码即可,F12,在查看器中,也可以得到。再payload option中导入字典(点击载入),载入附件给的密码字典。原创 2024-03-27 18:46:45 · 510 阅读 · 0 评论 -
CTFHUB-技能树-Web题-SQL注入-整数型注入
利用 group_concat() 函数进行查询连接所有的表名。还可以读取到 /etc/passwd 文件。load_file( )函数 读文件操作。1,2又有数值,说明两字段都有回显。由此判断存在两个字段。原创 2024-03-28 19:32:11 · 386 阅读 · 0 评论 -
CTFHUB-技能树-Web前置技能-302跳转
在做这道题前,需要了解302重定向,302重定向又称之为暂时性转移(Temporarily Moved ),英文名称:302 redirect。也被认为是暂时重定向(temporary redirect),当服务器无法处理浏览器发送过来的请求(request),服务器便告诉浏览器跳转到可以处理请求的url上。打开环境,点击giv me flag,很显然没拿到并且跳转到了原页面,(但是因为浏览器自动访问了该URL地址,以至于我们凭肉眼无法分辨是否重定向了)F12查看网络,发现出现302跳转。原创 2024-03-25 18:32:10 · 399 阅读 · 0 评论 -
CTFHUB-技能树-Web前置技能-Cookie
跟踪:购物网站使用 Cookie 来跟踪用户以前查看过的商品,使网站能够向用户推荐他们可能喜欢的其他商品,并在用户继续在网站其他部分购物时保留购物车中的商品。Cookie 存储在您的设备本地,以释放网站服务器的存储空间。您可能会查看网站的某些项目或部分内容,Cookie 使用此数据帮助制作您可能喜欢的定向广告。会话管理:例如,Cookie 使网站能够识别用户并记住他们的个人登录信息和偏好,例如体育新闻与政治。域名下的Cookie 值一般来说是最大是 4KB,存储是以 Name=Value 的形式。原创 2024-03-26 20:05:29 · 447 阅读 · 0 评论 -
CTFHUB-技能树-Web前置技能-HTTP协议
ctfhub web技能树中HTTP协议的解题思路原创 2024-03-24 17:21:11 · 411 阅读 · 0 评论