sqli-labs:5-6,盲注】的更多相关文章

好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试一试) Less-1: 提示参数是id,值为数字. 先测试是字符型还是字符串型: ?id=1 and 1=2--%20 ?id=1' and 1=2--%20 结果证明是字符串型. 然后一系列常规操作,order by 3为上限. payload: ?id=100' union select 1,u…
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太菜了..... 所以就真能默默的继续玩 Sqli labs系列 的源码了..... 不过SQL注入,主要可以分为 get 注入,post 注入,cookie 注入,其中咱们大部分都是的get 注入,post 注入都是提交表单类的注入,当然比如管理员登录框,如果存在注入,觉得嫌一直重复的话,可以用火狐…
作者:__LSA__ 0x00 概述 渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲注系列的第一篇,介绍盲注中的报错注入. 0×01 报错注入原理 其实报错注入有很多种,本文主要介绍几种常见的报错方法,有新姿势后续再更新. 1. Duplicate entry报错: 一句话概括就是多次查询插入重复键值导致count报错从而在报错信息中带入了敏感信息. 关键是查询时会建立临时表存储数…
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() 在concat查询语句后面添加一个标识符,如0x23 updatexml(,concat() 因为有的时候报错信息会设置长度限制,添加标识符可以避免显示不完全 获取数据库信息 http://10.1.2.5:10631/sqli/Less-1/?id=1' and updatexml(1,conc…
加and http://localhost/sqli/Less-9/?id=1' and '1'='1%23 http://localhost/sqli/Less-9/?id=1' and '1'='2%23 页面没有变化,一瞬间没弄懂了,看了下源码 发现无论查询的结果是什么,显示都不会有区别 学习一个函数 sleep(n)      休眠n秒 5秒后出现结果 和less8一样是盲注漏洞,构造请求 如果数据库名的第一个字符的ascii码不等于114 则休眠5s http://localhost/…
加单引号 没有任何信息输出 加and 页面变化,不正常是没有任何回显 http://localhost/sqli/Less-8/?id=1' and '1'='1 http://localhost/sqli/Less-8/?id=1' and '1'='2 出错也没有回显,考虑盲注,即通过不同请求页面的变化来作出判断 首先学习几个函数 length(str) 返回字符串的长度 if(a, b, c) 若条件a为真,返回b,否则返回c substr(str, pos, len) 从pos位置起截取…
pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 pydictor.py -base L --len 1 4 -o name.txt 生成1-4位纯字母字典,长度为1-4位,输出名字文件为 name.txtpython3 pydictor.py -extend F:\工具\pydictor\ex.txt --level 3 --len 3 10…
Natas17: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) DEFAULT NULL ); */ if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect('localhost', 'natas17', '<censored>'); mysql_select_…
Natas15: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) DEFAULT NULL ); */ if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect('localhost', 'natas15', '<censored>'); mysql_select_…
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" def inject_database(url): name = '' for i in range(1,100000): low = 32 high = 128 mid = (low + high) // 2 while low < high: payload = "if(ascii(sub…