mysql怎么注入爬虫 mysql手工注入

Mysql 注入之 limit 注入参考链接:
一般实际过程中使用 limit 时,大概有两种情况,一种使用 order by,一种就是不使用order by 关键字
执行语句
这种情况下的limit后面可以使用 union 进行联合查询注入
执行语句
执行语句
此时后面再次使用 union 将会报错
除了 union就没有其他可以使用的了吗,非也
此方法适用于 5.0.0 MySQL 5.6.6 版本,在limit语句后面的注入
MySQL 5中的SELECT语法:
limit 关键字后面还可跟 PROCEDURE 和INTO 两个关键字 , 但是INTO后面写入文件需要知道绝对路径以及写入shell的权限,因此利用比较难,因此这里以 PROCEDURE 为例进行注入
报错,尝试一下对其中一个参数进行注入,这里首先尝试报错注入
成功爆出 mysql 版本信息,证明如果存在报错回显的话 , 可以使用报错注入在 limit 后面进行注入
不存在回显怎么办,延迟注入呀
执行命令
如果select version();第一个为5,则多次执行sha(1)达到延迟效果
这里使用 sleep 进行尝试,但均未成功,所以需要使用BENCHMARK进行替代
python爬虫数据存到非本地mysqlpymysql 基本使用 八个步骤以及案例分析
一.导入pymysql模块
导入pymysql之前需要先安装pymysql模块
方法一:直接在pycharm编译器里面输入 pip install pymysql
方法二:win+r -- 输入cmd --在里面输入pip install pymysql
ps:在cmd中输入pip list后回车 可以找到安装的pymysql就表示安装成功了
1
2
3
4
5
6
1
2
3
4
5
6
在pycharm编译器中导入
import pymysql
1
2
1
2
二.获取到database的链接对象
coon = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='pymysql_test')
1
1
user:是你的数据库用户名
password:数据库密码
database:你已经创建好的数据库
1
2
3
1
2
3
三.创建数据表的方法
cursor.execute(
'''create table if not exists pets(id int primary keyauto_increment,
src varchar(50),
skill varchar(100)''')
1
2
3
4
1
2
3
4
四.获取执行sql语句的光标对象
cousor = coon.cousor()
1
1
五.定义要执行的sql语句
1.sql的增加数据的方法
sql = '''insert into test_mysql(id,src,skill) values(%d,%s,%s)'''
1
1
ps: test_mysql 是你连接到的数据库中的一张表
id,src,skill 这个是你创建表时所定义的字段关键字
%d,%s,%s 这个要根据你创建的字段关键字的类型而定,记住要一一对应
1
【mysql怎么注入爬虫 mysql手工注入】2
3
1
2
3
2.sql的删除数据的方法
sql_1 = '''delete from test_mysql where src=https://www.04ip.com/post/%s;'''
1
1
3.sql的修改数据方法
sql_2 = '''update test_mysql set src=https://www.04ip.com/post/%s where skill=%s;'
1
1
4.sql的查询方法
sql_3 = '''select * from test_mysql where skill = %s'''
1
1
六.通过光标对象执行sql语句
1.执行增加数据的sql语句
cousor.execute(sql, [2, '', '000000'])
运行后在mysql的可视化后台就可以直观的添加的数据
1
2
1
2
2.执行删除数据sql语句
new = ''
cousor.execute(sql_1, [new])
PS:这里就是根据sql语句where后面的条件进行删除对应的数据
要记住传入的数据要与sql的where后面条件匹配
1
2
3
4
1
2
3
4
3.执行修改数据的sql语句

推荐阅读