-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The blocking of 1.1.1.1 in China, starting from 2023-10-01 #295
Comments
when I curl -v http://1.1.1.1 HTTP/1.1 301 Moved Permanently |
content of http://106.74.25.198/ |
I really dialed the complaint number they provided, but no one answered (the first 2 numbers), and it "cannot go through" (the last one). |
Injected GET requests with invalid Host fields, e.g. |
The tampering was lifted since morning in my area. |
That's a really intriguing behavior. It could imply that these It might be nice if it is possible to further exploit this mechanism in some ways? 😼 |
We conducted an ongoing experiment from a vantage point in Tencent Cloud Beijing (ASN AS45090). Specifically, we Below is an analyis based on the data we collected between Sunday, October 1, 2023 19:54 PM (Beijing Time, UTC+8) and Friday, October 6, 2023 2:43 PM (Beijing Time, UTC+8). In total, we made This table summarizes all possible values seen in each type of injected responses:
In comparision with @klzgrad 's observation that:
We only observed one IP ID value
We also observed consistent TTLs and its value is the same as the packets sent by the real The figure below shows the number of injections we received in each hour. We send around 60 requests in each hour and the average injection rate for |
My HTTP 301 packets have TTLs of 249. But my HTTP 302 packets have TTLs of 119.
This must be a typo because the real
Unlikely.
|
Thank you for pointing this out. It's very likely that there are some middleboxes, which are 4 hops away from our TecentCloud VPS (possibly as part of the TecentCloud infrastructure), rewriting all the IP TTL to We know this because we sent packets with initial IP TTL 64 between two hosts, and still observed packets coming to our VPS have the IP TTL In the pcap I captured, all tshark -Y "ip.src == 1.1.1.1 and tcp.srcport == 80" -r 1.1.1.1.pcap -Tfields -e ip.ttl | sort | uniq -c
49977 251 including those tshark -Y "ip.src == 1.1.1.1 and tcp.srcport == 80 and tcp.len != 0 and (not tcp.payload contains 43:46:2d:52:41:59)" -r 1.1.1.1.pcap -Tfields -e ip.ttl | sort | uniq -c
2319 251 |
I also received a separate report that the blocking stopped on 2023-10-04 about 07:30 UTC. Here's an HTTP GET test from today, showing general reachability, I think: |
From Zhejiang Province : works seamlessly with wifi. Speed of 20-30 mbps. However, many websites block IPs from China. |
The 2024 research paper GFWeb: Measuring the Great Firewall's Web Censorship at Scale has a section about the anti-fraud center redirections. https://www.usenix.org/system/files/usenixsecurity24-hoang.pdf#page=12
|
There have been many reports of a blocking of
1.1.1.1
in China, starting from October 1, 2023.As discussed in issues #285, China injected TCP RST packets to block
1.1.1.1:443
from September 5 to 20, 2023.Major observations
Below is our observation from a VPS in Tencent Cloud Beijing (ASN AS45090) on October 1, 2023:
1.1.1.1:443
from our vantage point. In particular, we can successfully retrieve a complete webpage usingcurl -v https://1.1.1.1
. This shows inconsistency of this new censorship incident across different geo-locations or ASes.80
of1.1.1.1
got injected with a"302 Moved Temporarily"
or"301 Moved Permanently"
message, attempting to redirect users to the National Anti-Fraud Center website (wiki).Analysis on the injection to
1.1.1.1:80
Here is one example when no injection happens:
This is one example when the
"302 Moved Temporarily"
got injected.In particular, the redacted parameter in the output consists of 319 characters. Querying from the same vantage point across time, only the
129th to 150th
characters (22 characters) and the257th to 278th
characters (22 characters) in the 319 character message got changed. It is still unclear to us what information got encoded in this parameter.The real
301 Moved Permanently
response from the1.1.1.1
will eventually get to the client (but arrived later than the injected message), indicating the censor doesn't drop the real response from1.1.1.1:80
.The ASN of the IP
182.43.124.6
that hosts the National Anti-Fraud Center website:The text was updated successfully, but these errors were encountered: