github / github/codeql

JS: How to mark the value of a property

未關閉
#5,969 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
JS question
主要語言
CodeQL
星號
10.1k
分支
2.1k
平均合併
2 天 15 小時
30 天內合併 PR
141

描述

The Ajax method accepts a key-pair value group, and I wish to set S in URL :s[n.view] as sink。wuu.....,I can't find way to mark the s。

![image](https://user-images.githubusercontent.com/55187516/120055490-03349500-c026-11eb-9697-11221e5978e3.png)

I can find "url:s" by the property method but I don't know how to work further
```
import javascript
from ObjectExpr oe, Property p1
where
p1 = oe.getProperty(0)
and
p1.getName()="url"

select p1

```

Rough tracking doesn't get any inflow
```
import javascript

class Method_fingerprint extends TaintTracking::Configuration {
Method_fingerprint() { this = "fingerprint" }

override predicate isSource(DataFlow::Node source) {
any()
}

override predicate isSink(DataFlow::Node sink) {
exists(DataFlow::CallNode call |
call.getCalleeName() = "ajax"
and
sink = call.getArgument(0)
)
}
}
from Method_fingerprint pt, DataFlow::Node source, DataFlow::Node sink
where pt.hasFlow(source, sink)
select source, sink
```

The test JavaScript file is shown below
[test.md](https://github.com/github/codeql/files/6563952/test.md)

I'm truly grateful for any help.
thanks!!

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。