首页 技术 正文
技术 2022年11月9日
0 收藏 759 点赞 4,660 浏览 1122 个字

[SHA2017](web) writeup

Bon Appétit (100)


Ethical Hacker (200)


  • 这题是一道注入
  • 手工fuzz情况如下
    • 注入点在email这个位置
    • 过滤了空格,可以用/**/代替
    • 过滤了括号
    • 可以使用 — 进行注释
    • 采用union select 语句进行注入

这题是一个sqlite数据库的注入

sqlite注入简介看这:

http://www.cnblogs.com/xiaozi/p/5760321.html

id=1 : 7RTSGl9v907CzSdo
id=2 : W+OTqx5JlGWm
id=3 : pV/0nSQucWu5nAux
id=4 : ChqS4hrWupnQ4+Hr
...

wocao,这得有多少条,试试能不能用goup_concat,但是过滤了括号,这里要进行绕过,CVE-2016-1003

给一个大佬的传送门

https://lorexxar.cn/2016/12/28/cve-2016-10030/

所以绕过就是利用双引号进行绕过括号过滤

  • 还有一个line表,

所以,要得到flag,应该是按照line表的顺序,去对应base64,组成字典,将base64的内容进行拼接,这里需要一个脚本,将line,base64分别保存为文本

注意:需要将base64当中的 / 斜杠去掉

#! python
# -*- coding: utf-8 -*-
__author__ = 'Deen'import base64with open('base64.txt') as fp:
b64 = fp.read().split(',')
fp.close()with open('line.txt') as fp:
line = fp.read().split(',')
fp.close()# 进行对应组合
dic = zip(line, b64)
flag = {}
for i in dic:
flag[i[0]] = i[1]# 按次序拼接
content = ""
for i in range(1, len(b64) + 1):
content += flag[str(i)]# 二进制读写
content = base64.b64decode(content)
file = open('flag', 'wb')
file.write(content)
  • 这什么文件,binwalk也看不出来
  • 不应该是会一张jpg么,解密也没有报错啊

(后面会更新)

上一篇: SQL注入之PHP+Mysql
下一篇: react核心?
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,120
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,592
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,437
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,208
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,844
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,929