01 2018 档案
【sqli-labs】 less62 GET -Challenge -Blind -130 queries allowed -Variation1 (GET型 挑战 盲注 只允许130次查询 变化1)
摘要:允许130次尝试,然后是个盲注漏洞,看来要单字符猜解了 加单引号,页面异常,但报错被屏蔽了 加注释符,说明不止是用单引号闭合 加单括号,页面恢复正常 猜解数据库名 数据库第一位字符为ascii=99的字符,即'c' 表名第一位字符'W' 编写一个python脚本来完成操作 输出如下 可以发现,查出s
阅读全文
摘要:单引号双括号闭合
阅读全文
摘要:http://192.168.136.128/sqli-labs-master/Less-60/?id=1")%23 http://192.168.136.128/sqli-labs-master/Less-60/?id=0") or UpdateXml(1,concat(0x7e,database(),0x7e),1)%23
阅读全文
摘要:整型的注入
阅读全文
摘要:单引号闭合成功,但是union select结果不对 id='0'是不出结果的,那数据就不是从数据库取出的 但是有MYSQL的报错 那就用报错取数据 完成
阅读全文
【sqli-labs】 less57 GET -Challenge -Union -14 queries allowed -Variation4 (GET型 挑战 联合查询 只允许14次查询 变化4)
摘要:双引号闭合 和less56一样查数据
阅读全文
【sqli-labs】 less56 GET -Challenge -Union -14 queries allowed -Variation3 (GET型 挑战 联合查询 只允许14次查询 变化3)
摘要:单引号括号闭合
阅读全文
【sqli-labs】 less55 GET -Challenge -Union -14 queries allowed -Variation1 (GET型 挑战 联合查询 只允许14次查询 变化2)
摘要:试了几次,整型带括号正常了
阅读全文
【sqli-labs】 less54 GET -Challenge -Union -10 queries allowed -Variation1 (GET型 挑战 联合查询 只允许10次查询 变化1)
摘要:尝试的次数只有10次 单引号报错,错误信息没有显示 加注释符页面恢复正常,判断为单引号闭合 通过页面信息可以判断查询的表至少有id,username,password三个字段,所以union select至少应该select3个字段 用group_concat函数连接所有表名 只有一张表,查列名 查
阅读全文
摘要:http://192.168.136.128/sqli-labs-master/Less-53/?sort=1';insert into users(id,username,password) value (15,'root','root')%23
阅读全文
摘要:出错被关闭了
阅读全文
摘要:less50的字符型版本,闭合好引号就行
阅读全文
摘要:报错没有关闭,直接可以用UpdateXml函数 用堆叠注入
阅读全文
摘要:都是order by的注入,作者连图片都懒得改了。。。 注意和整型的区别,前引号用提交的引号闭合,后引号用#注释
阅读全文
摘要:图片还是47。。。访问的的确是48 这个是基于bool的盲注
阅读全文
摘要:改变sort的值,结果仍然是order by 1的结果
阅读全文
摘要:sort=4时出现报错 说明参数是添加在order by 之后 错误信息没有屏蔽,直接使用UpdateXml函数报错
阅读全文
摘要:和Less44一个名字 测试一下,发现是')闭合的 那就是没有错误显示的less42
阅读全文
摘要:盲注漏洞,登陆失败和注入失败显示的同一个页面 可以用sleep函数通过延时判断是否闭合引号成功 这个方法有一点不好的地方在于,并不能去控制延时,延时的时间取决于users表中的数据数量和sleep函数的参数 14条数据延时了1.4s 但延时的出现就证明引号闭合成功了
阅读全文
摘要:和less42一样
阅读全文
摘要:Forgot your password? New User click here? 看源码,可以发现和less 24不同的一点在于password字段没有进行转义处理 那就对password字段进行堆叠注入 登陆
阅读全文
摘要:整型的不用闭合引号
阅读全文
摘要:提交,页面正常,说明是')闭合的
阅读全文
摘要:http://192.168.136.128/sqli-labs-master/Less-39/?id=1;insert into users(id,username,password) values (15,'root','root')%23 http://192.168.136.128/sqli-labs-master/Less-39/?id=15
阅读全文
摘要:这个直接用union select就可以 看一下源码,发现这关的关键并不在此 mysqli_multi_query()是可以执行多条语句的 来看这个语句 两条select都得到了执行 这个就涉及到了堆叠注入,参考 https://www.cnblogs.com/0nth3way/articles/7
阅读全文
摘要:POST版本的less36
阅读全文
摘要:看一下mysql_real_escape_string()函数 \x00 \x1a 注入的关键还是在于闭合引号,同样使用宽字节注入
阅读全文
摘要:整型注入不用闭合引号,那就更简单了
阅读全文
摘要:还是宽字节注入,POST版本的 提交报错 列名不匹配,改一下就好了 看一下源码,果然只select了两个字段
阅读全文
摘要:和less32一样,对关键字符进行了添加\ 关于addslashes()函数 payload和less32一样
阅读全文
摘要:转义函数,针对以下字符,这样就无法闭合引号,导致无法注入 ' --> \' " --> \" \ --> \\ 但是,当MySQL的客户端字符集为gbk时,就可能发生宽字节注入,参照 http://netsecurity.51cto.com/art/201404/435074.htm %df' --
阅读全文
摘要:标题和less30一样 ")闭合的
阅读全文
摘要:这次是双引号的,WAF绕过方法不变
阅读全文
摘要:这关有点意思,有一点需要事先注意,这关玩的是login.php而不是默认的index.php 再注入之前需要先了解一下HPP(HTTP Parameter Pollution),详情参照这篇 http://blog.csdn.net/eatmilkboy/article/details/676140
阅读全文
摘要:和less28没什么区别,直接上个payload吧 这样也行
阅读全文
摘要:这个不是基于错误的吧,看源码可以知道错误并没有输出 那就使用;%00和order by试一下
阅读全文
摘要:和less 27一样,单引号换双引号
阅读全文
摘要:看一下过滤函数 看一下/s是什么东西 那直接通过大小写就可以绕过了
阅读全文
摘要:这个和less26差不多,空格还是用%a0代替,26过了这个也就简单了 ;%00 可以代替注释,尝试一下 order by 3 order by 4 虽然错误没有显示,我们还是知道了字段数是3
阅读全文
摘要:看了下源码 所有的注释形式和反斜线,and,or都被了过滤掉了 单引号没有过滤 空格也被过滤了 看了网上的一些方法都是使用了%a0替换掉了空格 但是出了一点问题,似乎无法识别%a0这个字符,有人说是window环境下apache的问题 可以先放着,因为这个语句是可以正常被执行的 利用这一点,可以构造
阅读全文
摘要:因为过滤是针对输入的字符串进行的过滤,所以如果过滤了or and的话,提交id=1和id=and1结果应该相同 采用双写试一下,页面就不正常了 后面的步骤按照GET型盲注走就完了
阅读全文
摘要:加单引号 order by一下 order by 变成了der by 下面的hint也显示了过滤后的字符串,其实直接看报错就可以看出来了,虽然标题是屏蔽了or和and,结果order也被误伤了 由于过滤只是单纯的将or and用空串进行了替换那么构造oorrder by就应该可以通过了 union
阅读全文
摘要:简单登陆浏览一遍后,发现是一个登陆注册修改密码的应用 审查一下代码 登陆页面的username,password使用了转义 注册页面的参数也进行了转义处理 但是在修改password的页面,直接从session中获取了username 这样就有了一个问题,username是在注册时被创建的,虽然进行
阅读全文
摘要:、 加单引号报错 加# 错误没有改变,推测过滤了# 查看源码发现# -- 都被替换掉了 那么可用通过闭合单引号的方式 然后通过UpdateXml函数利用报错取数据
阅读全文
摘要:注入的过程和less 20 21一样,这次闭合cookie的使用的双引号
阅读全文
摘要:这个和less20是一样的,唯一的不同在于添加了括号和使用了base64对cookie进行了编码(因为使用了base64_decode解码函数) admin被编码成了YWRtaW4=但是执行的SQL语句没有改变 添单引号编码,然后修改cookie 那么把less20的代码拿过来用base64编个码就
阅读全文
摘要:以admin admin成功登陆之后,保存并显示了cookies信息 如果不点击Delete Your Cookie!按钮,那么访问 就不需要再次登陆了,通过cookies获取了username并且没有进行验证 通过浏览器插件EditThisCookie来修改 加单引号然后刷新页面 发现了MySQL
阅读全文
摘要:这个和less18一样,都是基于header的注入 这次的字段是referer
阅读全文
摘要:这次username和password都进行了输入校验 但是ip和uagent没有校验 当我们用admin admin登陆成功后,就会一条插入语句 由于程序无条件的信任了浏览器的header信息,那么通过修改http包的header信息构造注入 使用burpsuite进行包拦截/修改 修改user-
阅读全文
摘要:这是一个重置密码界面,查看源码可以看到username作了防注入处理 逻辑是先通过用户名查出数据,在进行密码的update操作 所以要先知道用户名,实际情况中可以注册用户然后实行攻击,这里先用admin演示 这和前几个less都不一样,并不能 通过union select进行查询其他数据,但是由于u
阅读全文
摘要:判断为双引号变形注入 利用sleep函数判断数据库名长度 延时确实出现了,但不是5s 在数据库中执行一下 + users表中有13条数据,where进行条件匹配时由于sleep(5)返回了1(true)所以寻找username=‘1’,即where后面的条件执行了13次,延时65s 所以在注入的时候
阅读全文
摘要:错误不回显了 构造永真登陆 登陆成功了 虽然登陆成功了,但是数据库的数据还么有爆出来 构造一下用户名 如果数据库名的长度不等于8,登陆会失败 猜测数据库名第一个字符是否为's',是则登陆成功
阅读全文
摘要:名字和less13一样? 看了下源码对比 less13 less14 less14应该是双引号吧 出错 构造永真登陆
阅读全文
摘要:报错 闭合掉括号 这关登录成功之后不显示登录的用户名密码了
阅读全文
摘要:加个双引号 通过报错信息猜测SQL语句 将括号闭合掉,通过注释后面的条件登录
阅读全文
摘要:查看源码,用户名和密码通过post提交 加单引号提交 出现报错,推测对应的SQL语句 直接使用or构造永真登录 成功,注意此处登录的用户为表中的第一个用户 需要改变用户可以通过改变筛选条件实现 作为表中的第二个用户登录 如果在客户端进行了敏感字符的输入限定,可以直接使用hackbar提交POST数据
阅读全文
摘要:这个和less9一样,单引号改完双引号就行了 5s后页面完成刷新
阅读全文
摘要:加and 页面没有变化,一瞬间没弄懂了,看了下源码 发现无论查询的结果是什么,显示都不会有区别 学习一个函数 sleep(n) 休眠n秒 5秒后出现结果 和less8一样是盲注漏洞,构造请求 如果数据库名的第一个字符的ascii码不等于114 则休眠5s 浏览器状态栏显示 =115时没有延时,可以推
阅读全文
摘要:加单引号 没有任何信息输出 加and 页面变化,不正常是没有任何回显 出错也没有回显,考虑盲注,即通过不同请求页面的变化来作出判断 首先学习几个函数 length(str) 返回字符串的长度 if(a, b, c) 若条件a为真,返回b,否则返回c substr(str, pos, len) 从po
阅读全文
摘要:使用此漏洞需要知道WEB程序的根路径并且MYSQL的secure-file-priv配置应为可写入该路径 添加单引号,发现错误被屏蔽 对应的SQL语句应为 字段还是3个 在数据库中执行测试,看是否能写入成功 修改my.ini 重启MYSQL,测试写入,注意/需要转义 构造GET请求,写入一句话木马
阅读全文
摘要:同less5 单引号改成双引号就行
阅读全文
摘要:双注入查询可以查看这两篇介绍 https://www.2cto.com/article/201302/190763.html https://www.2cto.com/article/201303/192718.html 简而言之就是构造如下的查询,会使得查询结果的一部分通过报错的形式显示出来 数据
阅读全文
摘要:提交id参数 加' 页面正常,添加" 对应的sql语句应为 构造 对应的GET请求 接下来又是走流程了
阅读全文
摘要:实质上和less1没有多大区别,看懂了一样走流程 提交参数 加单引号 观察报错,看near 和 at 的引号之间内容 1后面有一个 ' 是我们添加的,于是正常的sql语句应该是 于是构造 对应的GET请求为 union查询 后面的参照less1 贴一下源码
阅读全文
摘要:与less1相同,直接走流程 提交参数,直接order by
阅读全文
摘要:GET方式提交id参数 添加单引号,出现报错,爆出数据库名称和部分SQL语句 使用order by猜测字段数,用#注释掉后面limit 0,1语句 字符#浏览器不会编码可以手动编码%23 order by 4时页面不正常,推测字段数为3 使用union查询,查看字段显示位置 没有出现1,2,3 数据
阅读全文